Qevyra
Serves as a registry provider: QEVYRA queries the npm registry to discover published packages/capabilities that can be indexed into its local capability catalog for later resolve and execution.
Serves as a registry provider: QEVYRA queries PyPI to discover published packages/capabilities and bring them into its local searchable index alongside npm and the official MCP registry.
Click on "Deploy 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., "@Qevyrafind a tool to convert 100 USD to EUR and do it"
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.
QEVYRA gives an agent one stable interface for discovering, scoping, inspecting, governing, and executing external capabilities. Downstream MCP servers, HTTP endpoints, and local tools stay behind a local runtime instead of filling the agent context with full catalogs.
Maintained by Anas Alrezej · Copyright © 2026 Anas Alrezej · github.com/anasrz/qevyra
Contents
Related MCP server: mcp-nexus
Overview
AI Agent
|
| intent / tool call
v
+-----------+
| QEVYRA |
+-----------+
|
+-------+-------+-------+
| | | |
MCP HTTP LOCAL registries
servers APIs tools (npm, PyPI, official MCP)Large tool catalogs create unnecessary context, difficult configuration, stale metadata, unclear permissions, and fragile execution. QEVYRA resolves capabilities when they are needed instead of forcing the agent to manage every downstream tool directly.
Why
Agent hosts that attach many MCP servers at once pay a steady cost: schemas and descriptions accumulate even when the current task needs only a few capabilities. That leads to:
Context overhead — full tool lists in every turn
Selection noise — ranking over hundreds of similar tools
Capability sprawl — duplicate or overlapping registrations
Per-agent exposure — research and coding agents seeing the same catalog
Permission ambiguity — unclear which tool may run without review
Stale schemas — catalogs changing between selection and invocation
Unreliable execution — health and policy checked too late
Hard debugging — scattered logs across servers
QEVYRA keeps a local index (SQLite + FTS5), exposes a small MCP surface to the agent, and enforces scope, policy, health, and snapshots at execution boundaries.
How it works
Stage | Role |
Intent | Natural-language or structured request from the agent |
Discover | FTS5 + BM25 search over the local capability index |
Resolve | Hybrid ranking with explainable reasons ( |
Scope | Optional per-agent allow-lists ( |
Policy |
|
Health | Lifecycle gates (connected, authorized, circuit state) |
Snapshot | Schema hash from |
Execute | Downstream MCP or configured handler |
Trace | Persisted run row (duration, decision, redacted errors) |
What QEVYRA is not
QEVYRA | Typical alternative | |
Role | Capability runtime between agent and tools | Single MCP server, marketplace, or agent framework |
Agent interface | Four MCP tools | Entire downstream tool surface |
Discovery | On-demand from local index | Preloaded global catalog |
Governance | Policy + scope + snapshots at execute | Ad hoc host settings |
QEVYRA complements MCP servers and agent frameworks; it does not replace them.
Quickstart
Requirements: Node.js 24+, pnpm 9+.
git clone https://github.com/anasrz/qevyra.git
cd qevyra
pnpm install
pnpm build
pnpm exec qevyra init --demo
pnpm devWeb UI: http://127.0.0.1:3848
API health: http://127.0.0.1:3847/health
pnpm exec qevyra search "github issue"
pnpm exec qevyra resolve "create github issue"
pnpm exec qevyra connect qevyra-demo
pnpm exec qevyra execute demo.calculator.add --args '{"a":2,"b":3}' --yes
pnpm exec qevyra doctor
pnpm exec qevyra runs --jsonCopy qevyra.config.example.json to qevyra.config.json for a starting config (local file; not committed).
Agent scoping
Optional agent scopes restrict which capability patterns appear in search, resolve, inspect, execute, API, and MCP when agentId is set:
{
"agents": [
{
"id": "researcher",
"allowed": ["web.search", "browser.*", "github.search"]
},
{
"id": "developer",
"allowed": ["filesystem.*", "git.*", "github.pull_request"]
}
]
}Unknown agent IDs are denied when any agents are configured. Omit agentId for the full indexed catalog (subject to policy).
Policy
Policies map glob patterns to decisions enforced at execution boundaries:
capabilities:
github.create_issue:
permission: allow
filesystem.write:
permission: ask
github.delete_repository:
permission: denyIn qevyra.config.json:
{
"policies": {
"demo.github.create_issue": { "permission": "allow" },
"filesystem.write": { "permission": "ask" },
"github.delete_repository": { "permission": "deny" }
}
}Destructive capability IDs default toward deny unless explicitly allowed.
Snapshots
After resolve, call inspect to obtain a snapshot (capability id, version, schema hash). Pass that snapshot into execute. If the live schema changed:
CAPABILITY_SNAPSHOT_INVALIDRe-inspect, then execute. This is local consistency for your runtime—not distributed locking across every MCP server.
resolve → inspect (snapshot) → execute → schema changed → CAPABILITY_SNAPSHOT_INVALIDMCP
QEVYRA runs an MCP server toward your agent (stdio in this release) and MCP clients toward registered downstream servers.
Tools exposed to the agent: discover_capability, inspect_capability, execute_capability, capability_status.
From a built clone (portable paths):
{
"mcpServers": {
"qevyra": {
"command": "node",
"args": ["packages/cli/dist/bin.js", "serve"]
}
}
}Or from the repo root with pnpm:
{
"mcpServers": {
"qevyra": {
"command": "pnpm",
"args": ["exec", "qevyra", "serve"],
"cwd": "/path/to/qevyra"
}
}
}See docs/mcp/tools and docs/mcp/client-config in the web docs.
Execution traces
Runs are stored locally with correlation IDs, policy decisions, durations, and redacted errors. Use qevyra runs --json or GET /api/runs for inspection—without echoing secrets from downstream tools.
Architecture
Monorepo layout (high level):
Package / app | Role |
| Types, errors, snapshots |
|
|
| SQLite + FTS5 |
| Registry providers |
| Ranking + hybrid resolver |
| Policy + agent scope |
| Execute, circuit breaker, demo seed |
| Four-tool MCP server |
| CLI and shared service context |
| Hono HTTP API |
| Landing, dashboard, MDX docs |
Details: docs/architecture.md · System architecture (on-site docs after pnpm dev).
Benchmark
Synthetic local benchmark — seeded catalog (1000 capabilities) and aligned queries. Measures the local resolver, not third-party agent hosts.
Run:
pnpm benchmarkOutput: benchmarks/results/latest.json (gitignored; regenerate locally).
Example results from a recent local run (58 tasks, catalog size 1005):
Metric | Value |
Recall@1 | 98.3% |
Recall@3 | 98.3% |
Recall@5 | 98.3% |
MRR | 98.3% |
Resolve top-1 | 98.3% |
Search latency p50 / p95 | 9.4 ms / 11.6 ms |
Resolve latency p50 / p95 | 10.6 ms / 11.8 ms |
Context size (bytes, JSON):
Mode | Size |
Naive full catalog | 83,035 |
QEVYRA top-5 discover cards | 381 |
Do not treat these figures as production agent performance; they characterize this repository’s benchmark harness only.
Documentation
After pnpm dev, browse http://127.0.0.1:3848/docs.
Topic | Path |
Quickstart |
|
Architecture |
|
MCP |
|
Configuration |
|
Security |
|
API |
|
CLI |
|
Contributing |
Social preview: upload docs/assets/social-preview.svg (1280×640) in GitHub repository settings if desired.
Examples
Path | Purpose |
Minimal agent integration | |
Demo downstream MCP server | |
Manual capability registration |
Development
pnpm install
pnpm build
pnpm lint
pnpm typecheck
pnpm test
pnpm test:e2e # requires production web on :3848; see Playwright config
pnpm benchmarkPackage structure and expectations: CONTRIBUTING.md.
Security
QEVYRA runs on your machine with your privileges. It provides policy boundaries, risk signals (qevyra audit), secret redaction in traces, and user approval for sensitive flows—it does not sandbox arbitrary third-party code or certify MCP packages as safe.
Read SECURITY.md before connecting untrusted capabilities.
Contributing
Contributions welcome under the project license. See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
License
QEVYRA is source-available: inspect, modify, fork, and self-host under LICENSE (Apache License 2.0 with the Commons Clause restriction). This is not an OSI-approved open source license. Commercial resale of QEVYRA itself or a substantially similar product derived from it is not permitted under the default terms.
Status
Current release | v0.1.0 |
Stability | Early public release (pre-1.0) |
Upstream MCP serve | stdio in this release; downstream streamable HTTP client supported |
Known limitations: no cryptographic sandbox for third-party tools; benchmark is synthetic; some registry providers depend on network and local configuration.
This server cannot be deployed
Maintenance
Related MCP Connectors
Discover, compare, route, and execute machine-accessible capabilities for AI agents.
31Governed AI agent skills — one library, distributed to devs and exposed to remote agents over MCP.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Discover and call AI agents via MCP. Supports A2A agents and platform agents with async tasks.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.173 npmMIT
- AlicenseAqualityAmaintenanceEnables AI harnesses to connect to a single MCP endpoint that routes to multiple downstream MCP servers, discovering and executing capabilities on demand while keeping tool schemas out of context.466 npmApache 2.0
- AlicenseAqualityAmaintenanceEnables agents to search a lightweight catalog, inspect permissions, lazily start trusted MCP servers, and call child tools without keeping all schemas in context. It also loads approved skills on demand and routes third-party additions through a human approval queue.11MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to securely discover, invoke, and manage tools through a hardened MCP endpoint with protections like injection detection, circuit breakers, retry backoff, response caching, context-window limiting, and state snapshots.1 npmMIT