nymrel-agent
OfficialProvides a read-only local execution adapter for the OpenAI Responses API, enabling model calls from the customer's machine with bounded time and response size, no prompt/task body retention, and provider error sanitization.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nymrel-agentExplain the routing and custody boundary contract."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nymrel Agent
Nymrel Agent is an explainable multi-model router with one deterministic contract across a public API, local CLI, MCP server, and low-custody execution harness.
You supply a model catalog and explicit requirements. Nymrel Agent rejects candidates that violate health, risk, capability, data-boundary, context, modality, cost, or latency constraints; ranks the eligible set under a balanced, quality, cost, or latency objective; and returns the full explanation.
The hosted router accepts model metadata only. It does not accept prompts, provider credentials, files, or customer identifiers, and it does not execute model calls.
Quickstart
The public routing endpoint requires no account or key:
curl -sS https://nymrel-agent.vercel.app/v1/route \
-H "content-type: application/json" \
--data-binary @examples/route-request.jsonRoute the same payload locally:
npm ci
npm run compile
node dist/src/bin/nymrel-agent.js route --file examples/route-request.jsonnymrel.agent.route/v2 is an explicit opt-in. It requires request-budget anchors, computes a Pareto frontier after eligibility, and only then selects from that frontier:
node dist/src/bin/nymrel-agent.js route --contract-version v2 --file examples/route-request-v2.jsonPlan a multi-step workflow locally without sending task bodies or executing any provider:
node dist/src/bin/nymrel-agent.js job plan --file examples/job-48h-game-builder.jsonJob Mode accepts only a bounded, body-free manifest with a shared model catalog and ordered v2 route requests. It makes deterministic selections for each step, emits a body-free correlation receipt, and marks any non-read step as an external handoff; it does not run the workflow. See Job Mode.
Job Lifecycle is a separate local envelope contract for callers that want to retain a bounded checkpoint chain around an already-routable Job Mode plan. It records only digests, counts, ordinals, enums, metrics, and timestamps; it does not parse transcripts, retain tasks, invoke a provider, schedule work, or persist anything. Callers write the returned JSON themselves.
Full documentation: https://nymrel-agent.vercel.app/docs
OpenAPI 3.1: https://nymrel-agent.vercel.app/openapi.json
Machine-readable product context: https://nymrel-agent.vercel.app/llms.txt
Related MCP server: bus-scheduling-mcp
What the result means
Routing has two stages:
Fail-closed eligibility filters reject incompatible profiles with stable reason codes.
Eligible profiles receive visible, integer score components and a deterministic tie-break.
The selected objective changes explicit weights. Explicit cost and latency ceilings also anchor their matching score components, so changing unrelated catalog membership cannot change an anchored component merely by moving the normalization range. When a ceiling is omitted, that component falls back to eligible-set normalization. Without changing the closed v1 response shape, each route receipt reports the chosen modes in decisionCodes and the numeric bounds in explanation. Model quality, reliability, cost, latency, boundary, and capability facts are caller-supplied evidence; Nymrel Agent explains how it used them but does not certify them.
The opt-in v2 contract leaves v1 unchanged. Its required normalization object uses basis: "request_budget" plus positive cost and latency anchors. v2 normalizes cost and latency against those request anchors, returns a sorted paretoFrontierModelIds list, and selects only from that frontier. An incumbent can resolve an exact weighted-score tie inside the frontier; it never receives a score bonus.
CLI
nymrel-agent route --file PAYLOAD.json [--contract-version v2] [--endpoint https://host]
nymrel-agent job plan --file MANIFEST.json
nymrel-agent job plan --file MANIFEST.json --format summary
nymrel-agent job lifecycle init --file MANIFEST.json [--at RFC3339_UTC]
nymrel-agent job lifecycle checkpoint --state-file STATE.json --file CHECKPOINT.json
nymrel-agent job lifecycle complete --state-file STATE.json --file TERMINAL.json
nymrel-agent models doctor [--config CONFIG.json]
nymrel-agent run --config CONFIG.json (--task TEXT | --task-file FILE|-)
nymrel-agent contract
nymrel-agent demoLocal routing is the default. --endpoint sends the metadata-only payload to a hosted router.
job lifecycle is local-only and reads JSON files only; it prints the next state envelope to stdout rather than writing state. The state has a canonical SHA-256 integrity hash and checkpoint chain. Those hashes support correlation and tamper detection, not confidentiality or freshness; retain the newest state envelope and keep it private.
MCP
The stdio MCP server exposes five read-only tools:
route_models— validate and route anymrel.agent.route/v1JSON payload.route_models_v2— validate and route an explicitnymrel.agent.route/v2JSON payload.explain_contract— return the stable routing and custody boundary.explain_contract_v2— return the explicit v2 routing and custody boundary.plan_job— validate and plan a body-free local Job Mode manifest without a provider call or a receipt timestamp. MCP remains stdio-only; the host application may retain arguments even though Nymrel sends nothing over its network.
Example client configuration after building from source:
{
"mcpServers": {
"nymrel-agent": {
"command": "node",
"args": ["/absolute/path/to/nymrel-agent/dist/src/bin/nymrel-agent-mcp.js"]
}
}
}Customer-local execution
v0.1 includes an OpenAI Responses adapter for read-only local runs. The local config stores an environment-variable name, never the key value:
$env:OPENAI_API_KEY = "set-this-in-your-secret-aware-shell"
node dist/src/bin/nymrel-agent.js run --config examples/openai-local-config.example.json --task-file -The adapter calls POST /v1/responses from the customer's machine, requires a completed response, sets store: false, bounds time and response size, sanitizes provider errors, and keeps task/output bodies out of receipts. A profile that claims local_only custody is accepted only with a loopback base URL. The public Worker is never in this path.
The example contains YOUR_MODEL_ID; replace it and its caller-supplied profile facts with a model your account can use. Nymrel does not ship benchmark claims in the example.
Security boundary
Public API: routing metadata only, no prompt or provider execution, streamed 256 KiB and 100-model caps, strict unknown-field rejection, Vercel deployment-wide WAF rate limiting (or a Cloudflare edge-location binding), exact-source readiness, and deterministic JSON errors.
Local runtime: read-only execution only, explicit adapters, bounded provider events/output, body-free receipts.
Not included: hosted keys, accounts, billing, customer-data persistence, shell or filesystem-write tools, outreach, purchases, deployment tools, or autonomous side effects.
Receipt SHA-256 values are correlation digests, not encryption or confidentiality controls.
See SECURITY.md for reporting and supported-version policy.
Nymrel implementation service
Nymrel can configure evidence-backed catalogs, routing policy, evals, customer-local adapters, and operational receipts around a real workflow. Hosted execution, data retention, credentials, and write-capable tools require a separate scope and security review. Pricing is provided on request at https://nymrel.com/brief.
Development and release proof
Requires Node.js 22, 23, or 24.
npm ci
npm run verify
npm pack --dry-run
git show --check --oneline HEADnpm run verify runs type checking, the offline/integration test suite, the release manifest and secret scan, and a Cloudflare deployment dry-run. The production Vercel adapter is exercised by the same compiled integration suite and by preview verification before promotion. Phase 0 evidence remains under docs/PHASE0_CONTRACT.md and evidence/phase0-receipt.json as historical provenance, not current product status.
License
MIT. See LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
Read-only MCP for identity resolution and write guardrails.
Free MCP tools: the only MCP linter, health checks, cost estimation, and trust evaluation.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLightweight Model Context Protocol gateway that exposes one entry point for multiple downstream MCP services, enabling efficient tool discovery and routing.89MIT
- FlicenseAqualityCmaintenanceEnables LLM clients to access scheduling data, KPIs, routes, and trigger optimization algorithms via MCP.9-
- AlicenseCqualityAmaintenanceRead-only MCP server that exposes public TokenLab model catalog tools for agents to discover models, inspect request contracts, and compare pricing.31164MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP clients to serve and query semantic models, providing tools for entity descriptions, metric lookups, context resolution, and operation validation for AI agents.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nymrel/nymrel-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server