MODEL-FACING MCP SURFACE
1,000 → 2
tools to stable interfaces
MCP Lens is a DeepSeek Harness MCP plugin for large MCP tool catalogs. It exposes two stable interfaces, uses deferred loading to reveal exact schemas only when needed, and calls the selected server and tool explicitly.
Local-only calculator · No schema upload · MIT licensed
MODEL-FACING MCP SURFACE
1,000 → 2
tools to stable interfaces
FIXED COMPONENT FIXTURE
647,962 B → 1,114 B
tool-schema JSON, not tokens
LIVE THREE-TASK PILOT
3 / 3 ↔ 3 / 3
completion tied; Lens added search
WHY NOW / PUBLIC SIGNALS
These fresh user reports describe the same failure shape from different stacks: standing schemas, prompt-cache churn, and tools leaking across workspace boundaries. Each card keeps the source's evidence boundary visible.
178 tools across 9 servers
A public trace reports that tool definitions consumed most of the context window before the first user message.
Boundary: One user configuration and trace; not an MCP Lens result.
84 tools; 22k–26k cold input tokens
A user reports paying the schema cost even on questions that call no tools.
Boundary: Self-reported OpenAI workload; not DeepSeek Harness or Lens evidence.
8,094,273 cache-miss input tokens reported
A community trace connects changing global tool definitions with prompt-cache misses and cross-session visibility.
Boundary: Community analysis, not an official root-cause confirmation.
70M → 100M cumulative usage reported
A user asks why a small Playwright-assisted task accumulated a large session total.
Boundary: Includes history, tool results, and PTC; not a schema-only measurement.
Workspace-scoped MCP requested
Users want root MCP tools kept out of unrelated workspace sessions.
Boundary: A community RFC describing desired isolation, not a Lens benchmark.
HOW IT WORKS
The model sees the same two MCP interfaces as your catalog grows. Exact schemas enter context only for a small ranked result set.
KEEP THE SURFACE FIXED
mcp_search and mcp_call.Remote tool definitions stay behind the gateway instead of becoming standing model-facing tools.
DEFERRED LOADING
The model asks in natural language. MCP Lens returns a bounded candidate set with exact server, tool, and input schema.
EXPLICIT EXECUTION
The final server/tool identity is checked again before MCP Lens opens the lazy connection and invokes it.
IS THIS FOR YOU?
GOOD FIT
SKIP IT FOR NOW
REPRODUCIBLE EVIDENCE
MCP Lens separates component measurements, retrieval checks, and live model observations so a schema-byte result never becomes a universal token, cost, latency, or quality claim.
A / COMPONENT
Compares serialized registered MCP tool-schema JSON using the same local fixture and the official direct client baseline.
Open benchmark method ↗B / RETRIEVAL
The checked-in retrieval fixture measured Recall@1, Recall@5, and MRR at 1.0. It is a small frozen set, not a general retrieval claim.
Inspect the fixture ↗C / LIVE PILOT
Both arms completed 3/3 tasks. The Lens arm added search. This validates those cases only—not general quality or latency.
Read the pilot boundary ↗TRUST BOUNDARIES
allowTools: [] exposes no remote capability. You opt in exact trusted patterns.
denyTools overrides allow rules in both search results and calls.
The exact server/tool identity is checked again immediately before execution.
No MCP endpoint is contacted at activation; connections open on demand and idle ones close.
Security boundary: MCP Lens narrows model-facing capability exposure and applies plugin policy. It does not sandbox a remote MCP server, its process, or its credentials.
INSTALL IN ONE LINE
dsh plugin --profile web add dsh-mcp-lens@nextExact pin: dsh-mcp-lens@0.1.0-rc.9dsh-mcp-lens@next from npm, or use the exact rc.9 pin.allowTools rules.FAQ / DEEPSEEK HARNESS MCP
MCP Lens targets large MCP tool catalogs. It keeps remote schemas out of the standing model-facing surface, then lets the model search for and call the specific capability it needs through two stable interfaces.
DeepSeek Harness registers mcp_search and mcp_call instead of every remote capability. Search returns a small ranked set with exact input schemas; call invokes one explicit server and tool.
No universal token or cost claim is made. The reproducible fixture measures serialized tool-schema JSON bytes, not provider tokens. Your total depends on model, provider accounting, prompt history, tool results, and cache behavior.
The frozen component fixture compares registered MCP schema JSON at 12, 100, and 1,000 tools and tests retrieval on 12 fixed queries. A separate three-task DeepSeek Harness pilot tied 3/3 completion in both arms; it is not a general quality or latency benchmark.
Managers primarily configure or toggle servers. MCP Lens is the runtime gateway: its model-facing contract stays at two interfaces, while deferred loading reveals exact schemas only after search and preserves an explicit server/tool identity for the call.
The default allowTools list is empty, so no remote capability is exposed until you opt in. Patterns match the final server/tool identity, and denyTools wins in both search and call paths.
Yes. MCP Lens applies the same policy to the exact server/tool at search and call time, with an additional pre-execution guard. It narrows capability exposure, but it is not an operating-system sandbox.
Run dsh plugin --profile web add dsh-mcp-lens@next, then add trusted servers and explicit allowTools rules to your profile. Pin dsh-mcp-lens@0.1.0-rc.9 for a reproducible install; the repository also keeps the checksum-verified GitHub release path.
No. MCP Lens is an independent, MIT-licensed open-source community plugin maintained by labmimors. It is not affiliated with or endorsed by DeepSeek AI.
THE CATALOG CAN GROW. THE INTERFACE CAN STAY SMALL.