Skip to main content

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 instructions field 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:

  1. describe_corpus() - Get structure overview
  2. list_features() or list_features(node_types=["word"]) - Browse available features
  3. describe_feature("sp") - Deep dive into specific feature with sample values
  4. search_syntax_guide() - Get search syntax help (section-based)
  5. 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.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cfabric-mcp 0.1.8
File Size Uploaded
cfabric_mcp-0.1.8.tar.gz 26.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cfabric-mcp 0.1.8
File Interpreter ABI Platform
cfabric_mcp-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 49.8 kB

Release files / cfabric_mcp-0.1.8.tar.gz

Download URL cfabric_mcp-0.1.8.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9b22c956df2a0f505278721122410d4b43b3e1cf3ea41b3a75a5ab747f20e063
BLAKE2b-256 checksum
How to use checksums
d1ada5f34f47953948e241def099b3d58225f06f7e5b69ab5f59acbae795dc40
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.1.8-py3-none-any.whl

Download URL cfabric_mcp-0.1.8-py3-none-any.whl
Size 23.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
92d1dba03f23341d4c948d015508669f2bc593adc8c16eea2cc5c7c9b4755f2b
BLAKE2b-256 checksum
How to use checksums
9e64c1577934b92ece4fdaaa3ee97768bed92c6e3dc920f2caddc1c6aff95167
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page