Holochain MCP Server
Enables AI agents to search and retrieve Holochain documentation, including developer guides, HDK functions, and HDI API references.
README
Holochain MCP Server
A Model Context Protocol (MCP) server built with Effect TS that provides AI agents with access to Holochain documentation, including:
- Holochain Developer Documentation
- HDK (Holochain Development Kit) Rust Documentation
- HDI (Holochain Deterministic Integrity) Rust Documentation
Features
- Built with Effect TS: Leverages Effect's powerful type-safe error handling, concurrent operations, and functional programming patterns
- Search across all Holochain docs: Find relevant information across developer guides, HDK, and HDI documentation
- Fetch complete documentation pages: Get the full content of specific documentation pages
- HDK function lookup: Get detailed documentation for specific HDK functions
- Concept explanations: Access explanations of key Holochain concepts like source chain, DHT, links, etc.
- Module listing: Browse available HDK modules and their functions
- Robust error handling: Type-safe error management with Effect's error model
Available Tools
1. search_holochain_docs
Search across all Holochain documentation sources.
Parameters:
query(string, required): Search querysource(string, optional): Specific source to search ("all", "developer", "hdk", "hdi")
2. fetch_holochain_doc
Fetch the complete content of a specific documentation page.
Parameters:
url(string, required): URL of the documentation page
3. get_hdk_function
Get documentation for a specific HDK function.
Parameters:
functionName(string, required): Name of the HDK function (e.g., "create_entry", "get_links")
4. get_holochain_concept
Get documentation for Holochain concepts.
Parameters:
concept(string, required): Concept name (e.g., "source chain", "dht", "links")
5. list_hdk_modules
List available HDK modules and their main functions.
Parameters: None
Installation
- Clone this repository:
git clone https://github.com/soushi888/holochain-mcp
cd holochain-mcp
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
With Claude Desktop
Add the following to your Claude Desktop configuration file (~/claude_desktop_config.json):
{
"mcpServers": {
"holochain-docs": {
"command": "node",
"args": ["/absolute/path/to/holochain-mcp/build/index.js"]
}
}
}
With Claude Code CLI
claude mcp add-json holochain-docs '{
"command": "node",
"args": ["/absolute/path/to/holochain-mcp/build/index.js"],
"env": {}
}' -s user
With other MCP clients
Run the server directly:
npm start
Or use it as a module in your MCP-compatible application.
Development
Running in development mode
npm run dev
Testing with MCP Inspector
npm run inspector
Then open http://localhost:4000 in your browser to test the tools interactively.
Examples
Search for information about entries
Use the search_holochain_docs tool with query "create entry"
Get specific HDK function documentation
Use the get_hdk_function tool with functionName "create_entry"
Learn about Holochain concepts
Use the get_holochain_concept tool with concept "source chain"
Fetch a specific documentation page
Use the fetch_holochain_doc tool with url "https://developer.holochain.org/concepts/3_source_chain"
Architecture
The server is built using:
- Effect TS: Functional programming library with type-safe error handling and concurrency
- @effect/platform: Effect's platform abstractions for HTTP and other system operations
- @modelcontextprotocol/sdk: Official MCP TypeScript SDK
- cheerio: Server-side jQuery for parsing HTML content
- puppeteer: Browser automation for dynamic content fetching
- Effect Schema: Schema validation and parsing for tool inputs
- fuse.js: Fuzzy search functionality
Effect TS Benefits
This implementation showcases Effect TS features:
- Type-safe error handling: All errors are typed and handled explicitly
- Dependency injection: Services are properly layered and injected
- Concurrent operations: Multiple documentation sources are searched concurrently
- Functional composition: Clean, composable code using Effect's pipe and combinators
- Resource management: Automatic cleanup and resource management
Dual Fetching Strategy
The server uses two different approaches for fetching documentation:
- Puppeteer: Used for developer.holochain.org to handle dynamic content and JavaScript-rendered pages
- Standard HTTP: Used for docs.rs (HDK/HDI) static Rust documentation
The HolochainDocumentationService handles:
- Searching developer documentation by scraping common pages
- Searching Rust documentation (HDK/HDI) by checking module pages
- Fetching and parsing complete documentation pages
- Mapping function names and concepts to their documentation URLs
All operations are wrapped in Effect programs with proper error handling and resource management.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Related Projects
- Effect MCP - MCP server for Effect documentation (inspiration for this project)
- Model Context Protocol - Official MCP repositories
- Holochain - The Holochain core repository
Support
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.