Sponsored by Deepsite.site

Cardano MCP Server

Created By
Jimmyh-worlda year ago
A specialized RAG gateway providing language models with Cardano blockchain knowledge. Enables AI assistants to access documentation, validate smart contracts, understand UTXO patterns, and discover development resources. Built on the MCP TypeScript SDK. Open-source.
Content

Cardano MCP Server

Overview

The Cardano Model Context Protocol (MCP) Server is a specialized gateway that simplifies Cardano blockchain integration for application developers. Built on the official MCP TypeScript SDK, it provides streamlined access to Cardano documentation, tools, and best practices.

Core Objectives

  1. Documentation Integration

    • Unified access to Cardano ecosystem documentation
    • Integration with Blockfrost, Maestro, and other provider APIs
    • Smart contract development guides and patterns
  2. Frontend Development Support

    • Wallet connection templates and utilities
    • Transaction building patterns
    • UI component templates
  3. Smart Contract Development

    • Security-first contract templates
    • Automated security validation
    • Best practice enforcement

Architecture

src/
├── server/           # MCP Server implementation
│   ├── mcpServer.ts  # CardanoMcpServer class
│   ├── integrations/ # Module integration
│   ├── resources/    # MCP resources
│   ├── tools/        # MCP tools
│   └── prompts/      # MCP prompts
├── knowledge/        # Documentation and knowledge base
│   └── processors/   # Documentation processors
├── repositories/     # Repository indexing module
│   ├── configs/      # Repository configurations
│   ├── processors/   # Repository content processors
│   ├── githubClient.ts # GitHub API client
│   ├── indexer.ts    # Repository indexer
│   ├── registry.ts   # Repository registry
│   ├── storage.ts    # Content storage
│   └── types.ts      # Type definitions
├── types/            # Type definitions
├── utils/            # Utility functions
│   └── errors/       # Error handling system
│       ├── core/     # Core error classes
│       ├── factories/# Error factory classes
│       ├── handlers/ # Error handlers (retry, etc.)
│       └── types/    # Error type definitions
├── tools/            # Development tools and utilities
├── prompts/          # Prompt templates and configurations
└── index.ts          # MCP server entry point

Technology Stack

  • TypeScript
  • Model Context Protocol SDK
  • Jest for testing
  • ESLint + Prettier for code quality

Development Approach

  • Test-Driven Development (TDD)
  • KISS (Keep It Simple, Stupid) principle
  • DRY (Don't Repeat Yourself) principle
  • Security-first mindset
  • Comprehensive error handling
  • Continuous Integration/Continuous Delivery (CI/CD)
    • GitHub Actions workflow for automated testing and quality assurance
    • ESLint, TypeScript type checking, and Prettier format verification
    • Parallel test execution for improved performance
    • Test coverage threshold enforcement (>90% line coverage)
    • Documentation generation (planned)

Getting Started

Prerequisites

  • Node.js >= 16.0.0
  • npm or yarn
  • TypeScript knowledge
  • Basic Cardano understanding

Installation

# Install dependencies
npm install

# Build the project
npm run build

# Start the MCP server with stdio transport
npm start

# Start the MCP server with SSE transport
npm run start:sse

Testing

The project uses Jest for testing with a modular configuration approach. Tests are organized by module and type:

  • Unit Tests: Located in tests/unit/

    • knowledge/: Tests for the knowledge module components
    • repositories/: Tests for the repository indexing module
    • utils/: Tests for utility functions, including error handling
    • server/: Tests for server components
  • Integration Tests: Located in tests/integration/

    • Tests that verify the interaction between multiple components

Running Tests

# Run all tests
npm test

# Run tests with coverage report
npm run test:coverage

# Run specific test categories
npm run test:knowledge     # Run knowledge module tests
npm run test:repository    # Run repository tests
npm run test:errors        # Run error handling tests
npm run test:server        # Run server integration tests
npm run test:debug         # Run tests with debugging options

# Run standalone tests (without mock server)
npm run test:repository:standalone  # Run repository tests without server
npm run test:errors:standalone      # Run error tests without server

For comprehensive documentation on testing, see TESTING.md.

We use a modular approach to test configuration:

For detailed information on test categories and recent improvements, see:

Usage Examples

Documentation Access

// Access Blockfrost API documentation
const docs = await client.readResource('docs://blockfrost/api');

// Get smart contract security patterns
const patterns = await client.readResource('docs://cardano/contracts/security');

Repository Access

// Access a GitHub repository README
const readme = await client.readResource('repository://input-output-hk/cardano-node');

// Get a specific file from a repository
const file = await client.readResource('repository://input-output-hk/cardano-node/file/README.md');

// List files in a repository
const files = await client.readResource('repository://input-output-hk/cardano-node/files');

Wallet Integration

// Generate wallet connection code
const result = await client.callTool({
  name: 'generate-wallet-connector',
  arguments: {
    walletType: 'nami',
    network: 'testnet',
  },
});

Smart Contract Development

// Validate smart contract security
const result = await client.callTool({
  name: 'validate-contract',
  arguments: {
    code: contractCode,
  },
});

Project Documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Model Context Protocol team for the TypeScript SDK
  • Cardano community for documentation and resources
  • Contributors and maintainers

Modules

Knowledge Module

The Knowledge module provides functionality for processing and accessing documentation from various sources. It includes components for fetching, parsing, validating, and extracting structured content from HTML and Markdown documents.

Key features:

  • HTML validation and cleaning
  • Section extraction and metadata generation
  • Markdown processing
  • Error handling with retry capabilities
  • ~92.39% test coverage

For detailed information, see the knowledge module documentation.

Additional documentation:

Repositories Module

The Repositories module provides functionality for indexing, querying, and managing GitHub repositories. This module enables the retrieval and processing of repository content, making it available for context-aware operations.

Key features:

  • Fetch and index GitHub repositories
  • Process README files for structured content
  • Maintain a registry of available repositories
  • Store repository content for efficient access
  • 80% branch coverage

For detailed information, see the repositories documentation.

Additional documentation:

Error Handling System

The Error Handling system provides a comprehensive approach to managing errors throughout the application. It includes specialized error classes, factories for creating domain-specific errors, and handlers for common error scenarios.

Key features:

  • AppError base class with serialization support
  • Error factories for different domains (network, documentation, etc.)
  • Retry handler with configurable retry logic
  • Consistent error codes and status codes
  • ~93% test coverage

For detailed information, see the error handling documentation.

Context Assembly Module (Coming Soon)

The Context Assembly Module will serve as the bridge between the Knowledge and Repositories modules, providing comprehensive contextual information for LLM prompts and responses.

Key features:

  • Multi-source retrieval from documentation and repositories
  • Relevance ranking based on user queries
  • Context window optimization for LLMs
  • Source attribution and confidence indicators

For detailed information, see the context assembly documentation.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
CursorThe AI Code Editor
WindsurfThe new purpose-built IDE to harness magic
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Amap Maps高德地图官方 MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Playwright McpPlaywright MCP server
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
DeepChatYour AI Partner on Desktop
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
ChatWiseThe second fastest AI chatbot™
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Serper MCP ServerA Serper MCP Server
Tavily Mcp