
contextweaver
io.github.dgenioPublished by GitHub account dgeniov0.18.2Updated Oct 24, 2026
MCP gateway: bounded tool shortlists + artifact-backed result firewall. Deterministic, no model.
Overview
A local, deterministic MCP gateway experiment that captures an agent's capability surface from OpenAPI, MCP tools/list or native catalogs and diffs it for drift
- What you can do
- Take deterministic snapshots of capability surfaces from OpenAPI documents, captured MCP tools/list responses or native catalogs, without a model account or gateway running alongside it. Inspect and verify snapshots for structure, ordering, unique logical IDs and a canonical digest. Diff a baseline against a candidate to separate added and removed capabilities from changes to existing ones, and to separate contract changes from documentation-only edits. Flag changes to fields such as required, type or enum as potentially breaking for review.
- When to use it
- Worth trying when an API or MCP tool surface changes often enough that ordinary Git diffs, config review and tests no longer make capability changes obvious, and you want a committed artifact plus a semantic drift report before deployment. The README itself advises against adding it for tiny, rarely changing surfaces or when you need an agent loop, tool executor, IAM layer or production orchestrator.
- Requirements
- A local Python installation; the README documents Python 3.10–3.14 and installing the package with pip, or running the module directly. Input is a local OpenAPI document, a saved MCP tools/list JSON response or a native catalog file. No model account, API key, gateway or tool executor is required.
Installation
In SourceWeft
- Open contextweaver in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
contextweaver
[CI] [PyPI version] [Python versions] [License: Apache-2.0] [OpenSSF Scorecard] [Docs] [GitHub Discussions]
Capture an agent's effective capability surface, commit it, and see semantically meaningful changes before deployment.
ContextWeaver is currently testing a deliberately narrow product hypothesis: capability snapshot + semantic drift.
Given an OpenAPI document, a captured MCP tools/list response, or a native
ContextWeaver catalog, the D1 experiment produces a deterministic normalized
snapshot that you can inspect, verify, and compare with a later candidate.
It does not require a model account, a gateway, a tool executor, or the Weaver
Stack.
Status: alpha, and specifically a product experiment. The implementation works and is tested; the user-value hypothesis is not yet proven. The project is actively measuring whether independent users keep this workflow after trying it on real projects.
Try the capability-drift experiment
Clone the repository and install that checkout so the maintained example fixtures and the code under evaluation are guaranteed to match:
Commands below use python3, matching the repository's documented default (docs/agent-context/workflows.md). On Windows installations that expose Python through the launcher, replace python3 with py -3; if your environment already exposes the intended interpreter as python, use that consistently.
Run the maintained OpenAPI example:
The candidate fixture intentionally:
- makes
customer_idrequired on the existinglistInvoicescapability; - changes its description;
- adds a new
getInvoicecapability.
The diff separates capability additions/removals from changes to an existing
logical capability and reports the structured paths that changed. Contract
changes are separated from documentation-only changes. Changes involving fields
such as required, type, or enum are flagged as potentially breaking for
review.
That flag is intentionally conservative: ContextWeaver does not claim to be a complete JSON-Schema compatibility checker.
Full walkthrough: Capability drift experiment.
Use it on your own source
OpenAPI
After the API changes:
Captured MCP tools
If you already have an MCP tools/list response saved as JSON:
For MCP, D1 compares tools by their upstream logical name so an input-schema
edit appears as a change to the same capability rather than an unexplained
remove/add pair. The historical schema-sensitive routing ID is retained
separately as normalized_id for inspection.
Capturing a live MCP server is a separate operation. snapshot, inspect,
diff, and verify do not execute discovered capabilities.
Native ContextWeaver catalog
What verify means
verify checks the D1 snapshot contract: structure, deterministic ordering,
logical-ID uniqueness, and the canonical capability digest.
It is not:
- deployment approval;
- security certification;
- authentication or authorization;
- a guarantee that a tool implementation is correct;
- routing-quality evaluation;
- production runtime attestation.
When not to use ContextWeaver D1
A negative answer is useful evidence for this project. Do not add ContextWeaver just because capability snapshots sound tidy.
Use something simpler when:
- ordinary Git diff, config review, and tests already make your capability changes obvious;
- your tool/API surface is tiny and rarely changes;
- provider-native tool search is the only problem you are trying to solve;
- you need an agent loop, tool executor, IAM layer, or production orchestrator;
- maintaining another committed artifact costs more than the review/debugging problem it removes.
If you try D1 and conclude that Git/tests are cheaper, that is a valid product result — please say so.
What is being tested
The current survival experiment asks a stronger question than whether the code works:
Do capability snapshots and semantic drift reports improve a real review/manual/risk process enough that independent users keep them?
The project distinguishes:
Stars, forks, downloads, a successful demo, and maintainer-created integrations are not treated as retained adoption.
The controlling product decision is tracked in #758, and the distribution quality gate is #855. Unassisted first success and retention are tracked in #658 and genuine adoption in #551.
What about routing, context compilation, and the MCP gateway?
ContextWeaver already contains substantial historical runtime functionality. That code still exists and currently shipped behavior should remain truthful and safe, but existing implementation is not evidence that the project should keep expanding it.
Two broader hypotheses are explicitly evidence-first:
- D2 — bounded / phase-aware context compilation: conditional. It must show consequential value beyond contemporary provider/runtime-native mechanisms.
- D3 — custom deterministic tool selection: a falsification track. It must beat modern provider-native tool search/deferred loading or a simple retrieval baseline on something target users actually care about.
During the D1 experiment, the project is not expanding routing sophistication, runtime bundle machinery, memory/session surfaces, framework breadth, gateway scope, vector stores, or model-assisted enrichment without a concrete external blocker or approved falsification experiment.
If you are maintaining an existing integration that uses those historical surfaces, the relevant documentation remains available:
- Which historical pattern fits?
- Context firewall
- MCP Context Gateway architecture
- MCP gateway security model
- Comparison / alternatives
- Ecosystem map
Evidence and claims
The D1 implementation supports scoped engineering claims such as deterministic snapshot construction under the documented source/adapter contract and structured semantic-diff output. It does not yet support the stronger claim that users need or retain the product.
The historical token-reduction headline is intentionally not used to sell D1. The current evidence-integrity work for those older benchmark claims is tracked in #841.
See Claims & evidence for the claim registry and Capability drift experiment for the exact D1 contract and limitations.
Python API stability
D1 is intentionally exposed through:
rather than being promoted immediately into the historical top-level CLI or a large new public Python API. That is deliberate. The experiment should earn a permanent surface through real retained use before the project takes on another compatibility obligation.
Part of the Weaver Stack — optionally
ContextWeaver can be used standalone. It has no hard dependency on the sibling Weaver projects.
The wider Weaver Stack contains adjacent experiments/components for planning, execution boundaries, guardrails, lessons, and evaluation. That ecosystem is not required to evaluate D1, and Stack coherence is not a reason to preserve a ContextWeaver feature that does not justify itself independently.
See the Ecosystem map only if you actually need those adjacent responsibilities.
Install and compatibility
Python 3.10–3.14 are covered by the repository CI matrix.
Current package version: 0.18.2
The repository is pre-1.0. Prefer the latest supported patch release for bug and security fixes, and check the changelog before relying on historical runtime APIs.
Current roadmap
The roadmap is intentionally a product-decision sequence, not a feature queue.
A green CI run does not advance this roadmap by itself.
Contributing
The most valuable contributions during the survival experiment are narrow and evidence-linked:
- a real D1 evaluator blocker;
- a semantic-diff case that is currently misleading or silently lost;
- deterministic normalization correctness;
- security/release maintenance for behavior the package still ships;
- negative evidence showing a simpler alternative wins.
Please do not add a framework adapter, routing policy, storage backend, runtime phase, or ecosystem integration solely for completeness.
See CONTRIBUTING.md and AGENTS.md for repository engineering conventions.
Security
See SECURITY.md for supported-version and vulnerability-reporting guidance. Do not include credentials, customer data, proprietary schemas, or private prompts in public adoption/evaluation reports.
Documentation
- Documentation site
- Capability drift experiment
- Claims & evidence
- Daily Driver guide — historical/runtime users
- Cookbook — broader shipped surfaces
- FAQ
- Changelog
License
Apache-2.0. See LICENSE.
Source: README.md at commit d1ceb47
Tools
0Version history
1- v0.18.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts