v0.13.0: MCP resources and the knowledge graph, secrets kept out of API responses, Directus and Revolut
MCP resources, with the knowledge graph as one of them
Per-server endpoints (/mcp/<serverId>) now serve native MCP resources (#729, #705):
anythingmcp://server/<id>/instructions: the server's instructions, the same textinitializesends.- one resource per connector with its setup instructions, plus any resources stored for it.
anythingmcp://server/<id>/knowledge-graph: the entities of the server's connectors, their tools and key fields, the connections between them and the workspace skills, as markdown.
All of it is scoped to the caller's role. A connector whose tools the role denies contributes nothing, and that now includes the instructions in initialize, which used to be composed from every connector on the server whatever the caller was allowed to use.
Secrets stay out of API responses
Worth upgrading for this alone if you run AnythingMCP for other people.
- Connector endpoints no longer return stored secrets. Environment variables and headers that hold keys, client secrets or refresh tokens come back masked (#718), and
authConfigis no longer in any connector response, not even as ciphertext (#725). - Saving env vars keeps the credentials that already work instead of overwriting them with the masked placeholder.
- The open CodeQL alerts are closed (#719, #722) and seven dependency alerts (multer, mysql2, deepmerge-ts, #702).
Connectors: 258 → 259
New
- Directus (#697, thanks @dor1smeow): read-only, five generic tools (collections, fields, items, one item, server info), because every Directus install has its own collections.
- Revolut Business (#721): accounts, transactions, counterparties, expenses and rates, read-only. Revolut renews tokens only against a JWT signed with your own private key, so the OAuth engine now supports
private_key_jwt. - Agent Skills Finder (#709): keyless. Finds a public Agent Skill for a task, reads it, and can file it as a suggested workspace skill for an admin to approve.
Removed
- N26 Open Banking (#721): N26's only API is PSD2, open to licensed providers with an eIDAS certificate. It could never work.
- Amadeus (#713): Amadeus retired its Self-Service API.
Fixed, each one found in real traffic:
- Buffer and ImmobilienScout24 had never made a successful call (#712); now they do.
- Companies House and Substack (#711), Vinted on the API its website uses now (#710).
- Slab, Wave Accounting and Tidio sent empty GraphQL variables on every call (#715).
- Etsy and Pinterest: authorize in the app instead of pasting a refresh token (#717).
- Reddit says why a token is missing instead of sending an empty bearer (#707).
Getting started, and small things that were in the way
- A starter pack on
/welcome(#720): keyless connectors that install in one click on your default server, each with a real first call to try. - Which connectors a server URL exposes (#727), right under the URL, so the wrong server's tools in Claude stop being a mystery.
- One-click Approve when you are already signed in, the current Claude path (Customize → Connectors → Add custom connector) and real usage numbers on server cards (#723).
- Base URL variables typed without
https://work, and OAuth 1.0a credentials are editable (#716). - Restoring a connector backup works again (#728). Connector assignments save the moment they change (#703). A duplicate server slug is a clear error, not a 500 (#704). Keys missing from a tool's output no longer count as schema errors (#708). Signing in no longer crashes in browsers without localStorage, as in some Android WebViews (#750).
For contributors
npm run adapter:new <slug>writes a valid adapter skeleton and tells you what to run next (#698, thanks @rangarajan19).- The README badges for adapters, tools and keyless adapters now follow the catalogue on their own (#744, thanks @sonerdengelen).
AnythingMCP Cloud
Deploys are zero-downtime now: blue/green app containers switched by Caddy, one deploy at a time (#726, #706). JSON responses are compressed (#748).