Documentation

MCP server: resources, prompts & agents

How Noveum’s MCP server exposes tools, read-only resources, slash prompts, and polling—use this with Cursor, VS Code, or any MCP client.

Once your editor is configured with your Noveum MCP URL (…/api/mcp) and a Bearer API key, the assistant uses the same capabilities as the Noveum app.

How Noveum’s MCP agents work

  1. Load resources first (projects, trace filters, scorers, datasets; noveum://etl-novaeval-codegen-save for AI mapper codegen + saving to DB; noveum://worker-workflows for poll cadences) so every id and slug comes from real data—not guesses.
  2. Use tools for API calls: list things, start jobs, and read results. Pass projectId or organizationSlug when a tool asks for them.
  3. When a job is long-running, the API returns an id immediately. Poll the matching status endpoint until the status is final—about every 3–5 seconds while work is active, or ~15 seconds when idle.
  4. Optional: use slash prompts for guided workflows (traces, ETL, evals, NovaPilot, NovaSynth, and more).

API key

The MCP connection uses the same Bearer API key as the REST API. Rotate keys from your organization → API keys when needed.


What the MCP server gives you

ToolsOpenAPI-derived HTTP actions (GET/POST/…) your client invokes with the Bearer token—kick off jobs, read catalogs, poll progress.
ResourcesRead-only JSON at noveum:// URIs—load these before planning so ids, slugs, and filter enums come from real data.
PromptsRegistered workflow prompts (slash commands) that spell out which tools to chain, what to poll, and when to stop.

Slash commands bundle curated instructions. Tools call Noveum’s HTTP API with your API key. Heavy work runs in background workers—agents poll status endpoints until a terminal state, on the same cadences the web app uses.

How agents wait for work

A kickoff response returns an id immediately; BullMQ workers on queues such as etl-jobs, novaeval-jobs, eval-jobs, recommend-scorers-jobs, novapilot-jobs, novapilot-scheduled-jobs, synthetic-runs, and synthetic-generation finish the job asynchronously. Poll the documented GET until status is terminal—about 3–5s while work is active and ~15s when idle—matching Noveum’s UI.

End-to-end flow (Mermaid)
flowchart LR
    User["User in Cursor / Claude / VS Code"] -->|slash command| Prompt
    Prompt -->|chains| Tools
    Tools -->|HTTP Bearer API key| NoveumApi["Noveum /api/v1/*"]
    NoveumApi -->|enqueues| Queue["BullMQ queue (etl-jobs, eval-jobs, novapilot-jobs, synthetic-runs, ...)"]
    Queue --> Worker["Worker (apps/workers/src/*)"]
    Worker -->|updates status| NoveumApi
    Tools -->|poll status every 3-5s until terminal| NoveumApi
    Resources["MCP Resources (read-only JSON)"] --> Prompt
    NoveumApi --> Results
    Results --> User

Paste the diagram into a Mermaid viewer if your docs renderer does not draw it.


Resources we expose (read-only JSON)
URIPurpose
noveum://projectsProjects visible to this API key.
noveum://filter-valuesTrace filter enums (projects, environments, statuses, …).
noveum://scorersBuilt-in and custom scorers for evaluations.
noveum://org-statusOrganization usage, limits, and API status snapshot.
noveum://worker-workflowsStatic playbook: queues, poll URLs, intervals, terminal statuses (ETL+NovaEval, eval, NovaPilot, NovaSynth).
noveum://etl-novaeval-codegen-saveNovaEval codegen → poll → POST /versions to persist mapperCode (UI); sandbox and tool-name hints.
noveum://datasetsDataset catalog (optional limit, offset, visibility, … on the URI).
noveum://eval-jobsEval job catalog (optional ?projectId=… on the URI).
noveum://etl-jobsETL job catalog (optional ?projectId=…&environment=…).
noveum://novasynth-batch-runsSynthetic batch runs list (requires ?projectId=… on the URI).
noveum://novasynth-runsSynthetic runs index (requires ?projectId=… on the URI).
noveum://novapilot-schedulesScheduled NovaPilot analyses (requires ?projectId=… on the URI).
Slash-command prompts
PromptPurposeWorker / notes
/debug_tracesFind error traces, inspect spans, summarize root causes.Reads only; trace ingest uses the traces queue.
/setup_etl_pipelineETL job + NovaEval mapper (poll) + apply code + trigger + poll ETL run.novaeval-jobs, then etl-jobs
/generate_etl_mapper_novaevalQueue NovaEval codegen, poll outputCode, POST /versions to set mapperCode.novaeval-jobs
/run_evaluationRun eval jobs and poll run/status endpoints.eval-jobs worker
/analyze_with_novapilotKick off NovaPilot analysis and poll the report.novapilot-jobs worker
/optimize_costsReview org/project usage and cost signals.Read-only (status + usage APIs)
/trace_error_triageGroup recent error traces and likely root causes.Reads only; ingest still async on traces queue.
/compare_eval_runsDiff two completed eval runs for the same job.Reads only
/recommend_scorers_for_datasetStart scorer recommendation and poll until done.recommend-scorers-jobs queue
/dataset_publish_reviewExplain dataset version diff before publish.Reads only
/project_health_snapshotProject health plus worst scorers and fixes.Reads only
/etl_run_postmortemDiagnose a failed ETL run and sample related traces.etl-jobs worker (poll runs if still active)
/novapilot_schedule_overviewInspect scheduled NovaPilot runs and poll active rows.novapilot-scheduled-jobs worker
/novasynth_flaky_scenariosFind high-variance scenarios across batch synthetic runs.synthetic-runs worker (poll batches if needed)
/start_novasynth_batchPOST a new batch run and poll it until terminal.synthetic-runs worker

For per-editor connection steps (Cursor install links, Claude CLI, VS Code, Windsurf, ChatGPT), see your in-app Integration page or the vendor docs linked from there.

Exclusive Early Access

Get Early Access to Noveum.ai Platform

Be the first one to get notified when we open Noveum Platform to more users. All users get access to Observability suite for free, early users get free eval jobs and premium support for the first year.

Sign up now. We send access to new batch every week.

Early access members receive premium onboarding support and influence our product roadmap. Limited spots available.

On this page

MCP server: resources, prompts & agents | Documentation | Noveum.ai