XframeworkID MCP Server
Model Context Protocol server that exposes the XframeworkID registry of labelled bond disclosure documents (frameworks, SPOs, impact reports, assurance, certifications, EU GBS reviews, academic research) to Claude and other MCP clients.
What it does
Lets a Claude conversation:
- Resolve any XFID (document), XPID (person), or XOID (organization) to its registry data
- Search ~10,800 documents by query, type, year, country
- Look up issuers and their full disclosure chains
- Look up analysts, researchers, issuance staff, bankers and their published work
- Find related documents (framework ↔ SPO ↔ impact ↔ assurance)
- Cite XFIDs in responses with permanent URLs
All queries hit the public xframework.id JSON API — no authentication required, no local database needed.
Installation
From PyPI (recommended once published)
pip install xframework-mcp
From source
git clone https://github.com/iandhoward/XframeworkID.git
cd XframeworkID/mcp_server
pip install -e .
Configure Claude Desktop
Add to your Claude Desktop MCP configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"xframework-id": {
"command": "xframework-mcp"
}
}
}
Restart Claude Desktop. You should see a 🔌 icon indicating MCP servers are connected.
Configure other MCP clients
The server uses stdio transport. For any MCP client, run:
xframework-mcp
It will read MCP messages from stdin and write to stdout.
Tools provided
| Tool | Purpose |
|---|---|
about_xframework |
Returns project summary, scale, identifier types, key findings. Useful as a first orientation call. |
resolve_id |
Resolve any XFID / XPID / XOID to its registry data (with or without dashes). |
search_documents |
Search by free-text query + filters (type, year, country). Returns up to 50 results. |
get_issuer |
Get an issuer's profile and all their documents by slug. |
get_disclosure_chain |
For a document XFID, return the full chain (framework + SPO + impact + assurance + ISINs). |
list_top_analysts |
Get the SPO or CBI certification analyst leaderboard URL. |
find_research_papers |
Find academic research papers about labelled bonds (RESEARCH document type). |
Example queries Claude can answer with this server
- "What are all the disclosure documents Iberdrola has published?"
- "Show me the framework, SPO, and impact reports for the IFC Forests Bond."
- "Find academic papers about greenium pricing."
- "Who reviewed the Conservation Fund's Working Forests Green Bond?"
- "What's at XFID
XF-A3B7K2M-9?" - "List all 2025 SPOs in the registry."
- "What documents has Caroline Flammer published in this registry?"
Technical notes
- HTTP client:
httpx.AsyncClientwith a 15s timeout,User-Agent: xframework-mcp/0.1.0. - Caching: relies on the API's
Cache-Controlheaders (60s for search, 300s for documents). - Error handling: tool calls return JSON
{"error": "..."}payloads on failure rather than raising. - No authentication: only reads public registry data. No secrets, no rate limits beyond the public API's.
What this server does NOT do
- Submit corrections or new documents (use https://xframework.id/contact).
- Access paid features (investor comparison tool, page view tracking).
- Modify the registry. Read-only.
License
MIT. See repository root.
About XframeworkID
XframeworkID is an open registry that assigns permanent, content-based identifiers (XFIDs) to extra-financial disclosure documents associated with labelled bond issuances. Founded by Ian Howard (ex-Sustainalytics SPO business lead, ex-Climate Bonds Initiative data lead). The registry exists because 23% of these documents have already disappeared from their published URLs — see Deleting the Receipts.
For full documentation see https://xframework.id/llms-full.txt.
Metadata
Release files for xframework-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xframework_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for xframework_mcp-0.1.0-py3-none-any.whl |
Release files / xframework_mcp-0.1.0-py3-none-any.whl
| Download URL | xframework_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be3e6991d1bbf007f05fa11e7757af96621689939e0b11df9fff69d6473acb41
|
|
BLAKE2b-256 checksum How to use checksums |
329b4b3f464c75e19f93834701d31f7260c069ef1c4f0733ba7721574cf4125d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for xframework-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.