This release is a pre-release and may not be stable for production use.
Context-Fabric MCP Server
Query Context-Fabric corpora via MCP (Model Context Protocol).
Installation
pip install cfabric-mcp
Transports
The server supports three transport modes:
| Transport | Flag | Use Case |
|---|---|---|
| stdio | (default) | Claude Desktop, local MCP clients |
| SSE | --sse PORT |
Cursor, remote MCP clients |
| Streamable HTTP | --http PORT |
Production deployments |
Usage
# stdio transport (Claude Desktop)
cfabric-mcp --corpus /path/to/bhsa
# SSE transport (Cursor, remote clients)
cfabric-mcp --corpus /path/to/bhsa --sse 8000
# Streamable HTTP transport (production)
cfabric-mcp --corpus /path/to/bhsa --http 8000
Options
--corpus PATH # Corpus to load (required, repeatable)
--corpus name=PATH # Named corpus
--sse PORT # SSE transport on port (endpoint: /sse)
--http PORT # Streamable HTTP transport on port (endpoint: /mcp)
--host HOST # Host to bind (default: 0.0.0.0)
--features "sp lex" # Load only specific features
--verbose # Debug logging
Tools
The server exposes 11 MCP tools organized in layers for efficient discovery.
Note: A usage guide is automatically provided to clients via the MCP
instructionsfield at connection time.
Discovery Tools
| Tool | Description |
|---|---|
list_corpora |
List loaded corpora |
describe_corpus |
Get corpus structure (node types, sections) |
list_features |
Browse features with optional node_type filter |
describe_feature |
Get feature details with sample values |
get_text_formats |
Get text encoding samples (cached) |
Search Tools
| Tool | Description |
|---|---|
search |
Pattern search (results/count/statistics/passages) |
search_continue |
Paginate search results |
search_csv |
Export results to CSV file (stdio only) |
search_syntax_guide |
Search syntax docs (section-based) |
Search totals count all matches, including matches beyond the cursor cache's
10,000-result retention limit. Counts remain exact on cache hits. Statistics
use all matches; when only a prefix is cached, statistics may rerun the query.
Result and passage responses include cached_count and results_truncated
to distinguish retained results from total_count. Pagination's has_more
describes remaining cached results, so it becomes false at the cache boundary
even when results_truncated is true.
CSV exports honor their requested row limit independently of cache retention,
rerunning a truncated cached query when more rows are needed.
Data Access Tools
| Tool | Description |
|---|---|
get_passages |
Get text by section references |
get_node_features |
Get feature values for nodes |
Discovery Flow
The tools are designed for hierarchical, iterative discovery:
describe_corpus()
│
├─► list_features() → Browse all features
│ └─► describe_feature("sp") → Full details + samples
│
├─► list_features(node_types=["word"]) → Filter by node type
│ └─► describe_feature(...)
│
└─► get_text_formats() → When encoding matters
↓
search() → Execute queries
Typical workflow:
describe_corpus()- Get structure overviewlist_features()orlist_features(node_types=["word"])- Browse available featuresdescribe_feature("sp")- Deep dive into specific feature with sample valuessearch_syntax_guide()- Get search syntax help (section-based)search()- Execute search queries
Search Return Types
| Type | Description |
|---|---|
results |
Paginated node info with cursor (default) |
count |
Total count only |
statistics |
Feature value distributions |
passages |
Formatted text passages |
Client Configuration
Claude Desktop (stdio)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"context-fabric": {
"command": "/path/to/venv/bin/cfabric-mcp",
"args": ["--corpus", "/path/to/bhsa"]
}
}
}
Cursor (SSE)
Start server:
cfabric-mcp --corpus /path/to/bhsa --sse 8000
Configure Cursor to connect to: http://localhost:8000/sse
Custom MCP Clients
For SSE transport, connect to http://host:port/sse
For Streamable HTTP, connect to http://host:port/mcp
License
MIT
Metadata
Release files for cfabric-mcp 0.2.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cfabric_mcp-0.2.0rc1.tar.gz | 26.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cfabric_mcp-0.2.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.2 kB
Release files / cfabric_mcp-0.2.0rc1.tar.gz
| Download URL | cfabric_mcp-0.2.0rc1.tar.gz |
|---|---|
| Size | 26.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1bba0a482e9a4aab6ec57d5e75dfa825fd5e0876f03a573ba02d7bd4d60db35a
|
|
BLAKE2b-256 checksum How to use checksums |
eae022e47efc75907d9f21b555c6971eb22750a12674c13c8861a3e635e0b6b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cfabric_mcp-0.2.0rc1-py3-none-any.whl
| Download URL | cfabric_mcp-0.2.0rc1-py3-none-any.whl |
|---|---|
| Size | 23.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19c7fc86d5ed66df3b8bd05dbceb212077a83b6f108991f5aeec36d344742570
|
|
BLAKE2b-256 checksum How to use checksums |
aacdb9a96aad83a5f55ef51d3992d025fe68c2ba1cd2b21f2d960a52226a74f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|