Stampchain MCP Server
Interact with Bitcoin Stamps data via the Stampchain API, allowing queries for stamps, collections, and blockchain information.
Stampchain MCP Server
A Model Context Protocol (MCP) server for interacting with Bitcoin Stamps and SRC-20 token data via the Stampchain API. This server provides MCP-compatible clients with tools to query Bitcoin Stamps, collections, and SRC-20 tokens.
Features
- Bitcoin Stamps Tools: Get stamp details, search stamps, and retrieve recent stamps
- Stamp Collections: Query collections and search through collection data
- SRC-20 Tokens: Get token information and search through SRC-20 tokens
- Type-safe: Built with TypeScript and Zod validation
- Comprehensive Testing: Full test coverage with CI validation
- Configurable: Flexible configuration options for different environments
- Cross-platform: Works on Ubuntu, Windows, and macOS with Node.js 18+
Quick Start
Prerequisites
- Node.js 18+
- npm or yarn
Installation
-
Clone the repository:
git clone https://github.com/stampchain-io/stampchain-mcp.git cd stampchain-mcp -
Install dependencies:
npm install -
Build the project:
npm run build -
Test the installation:
npm run start
MCP Client Integration
Claude Desktop
To use with Claude Desktop, add the following to your
claude_desktop_config.json:
{
"mcpServers": {
"stampchain": {
"command": "node",
"args": ["/path/to/stampchain-mcp/dist/index.js"],
"cwd": "/path/to/stampchain-mcp"
}
}
}
Alternative: Using npx (recommended)
For easier setup without local installation:
{
"mcpServers": {
"stampchain": {
"command": "npx",
"args": ["-y", "stampchain-mcp"]
}
}
}
Note: Replace /path/to/stampchain-mcp with the actual path to your
installation directory.
Other MCP Clients
This server implements the standard MCP protocol and can be used with any MCP-compatible client. Refer to your client's documentation for specific configuration instructions. The server accepts connections via stdio transport.
Available Tools
Bitcoin Stamps
get_stamp- Get detailed information about a specific stamp by IDsearch_stamps- Search stamps with various filters (creator, collection, etc.)get_recent_stamps- Get the most recently created stamps
Stamp Collections
get_collection- Get detailed information about a specific collectionsearch_collections- Search collections with filters
SRC-20 Tokens
get_token_info- Get detailed information about a specific SRC-20 tokensearch_tokens- Search SRC-20 tokens with various filters
Configuration
The server can be configured through:
- Configuration file (JSON format)
- Environment variables
- Command line arguments
Example Configuration File
{
"api": {
"baseUrl": "https://stampchain.io/api",
"timeout": 30000,
"retries": 3
},
"logging": {
"level": "info"
},
"registry": {
"maxTools": 1000,
"validateOnRegister": true
}
}
Environment Variables
STAMPCHAIN_API_URL- API base URL (default: https://stampchain.io/api)STAMPCHAIN_LOG_LEVEL- Logging level (debug, info, warn, error)STAMPCHAIN_API_TIMEOUT- API timeout in milliseconds
Command Line Usage
# Start with default configuration
npm run start
# Start with custom config file
npm run start -- --config config.json
# Start with debug logging
npm run start -- --log-level debug
# Show available tools
npm run tools
# Show version information
npm run version
Development
Scripts
npm run dev- Start development server with hot reloadnpm run build- Build the TypeScript projectnpm run test- Run all testsnpm run test:watch- Run tests in watch modenpm run test:coverage- Run tests with coverage reportnpm run typecheck- TypeScript type checkingnpm run format- Format code with Prettiernpm run validate- Full validation suite
Testing
The project includes comprehensive test coverage:
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run in watch mode during development
npm run test:watch
Project Structure
src/
├── api/ # API client and related utilities
├── config/ # Configuration management
├── interfaces/ # TypeScript interfaces
├── protocol/ # MCP protocol handlers
├── schemas/ # Zod validation schemas
├── tools/ # MCP tool implementations
├── utils/ # Utility functions
├── index.ts # Main entry point
└── server.ts # Server implementation
API Reference
Tool Parameters
All tools accept various parameters for filtering and pagination:
limit- Number of results to return (default: 10, max: 100)page- Page number for pagination (default: 1)sort- Sort field and direction (e.g., "created_desc")
Response Format
All tools return structured data with:
success- Boolean indicating if the request was successfuldata- The requested data (stamps, collections, tokens)pagination- Pagination information when applicableerror- Error details if the request failed
Troubleshooting
Common Issues
- Build Errors: Ensure you have Node.js 18+ and run
npm installfirst - Connection Issues: Check that the Stampchain API is accessible
- MCP Client Integration: Verify the path in your configuration file is correct
Debugging
Enable debug logging to see detailed information:
npm run start -- --debug
Or set the log level in your configuration:
{
"logging": {
"level": "debug"
}
}
Development
Test Coverage
This project maintains comprehensive test coverage across multiple areas:
- ✅ Unit Tests - Core utilities and helper functions
- ✅ Integration Tests - MCP server functionality
- ✅ API Validation - Ensures v2.3 API compatibility
- ✅ Schema Validation - TypeScript and Zod schema alignment
- ✅ Cross-platform - Tested on Ubuntu, Windows, and macOS
- ✅ Multi-version - Node.js 18.x, 20.x, and 22.x support
- ✅ Real API Testing - Validates against live Stampchain API v2.3
Detailed Testing Commands
# Run specific test suites
npm run test:unit # Unit tests for utilities and helpers
npm run test:integration # Integration tests for MCP server
npm run test:api # API validation tests (v2.3 compatibility)
npm run test:tools # Tool functionality tests
npm run test:schemas # Schema validation tests
# Advanced testing options
npm run test:ui # Run tests in UI mode (interactive)
npm run test:ci # CI test run (includes coverage)
npm run validate # Full validation (schema + typecheck + format + tests)
Development Workflow
- Install dependencies:
npm install - Start development server:
npm run dev - Run tests in watch mode:
npm run test:watch - Validate before commit:
npm run validate
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Make your changes
- Run tests:
npm test - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/new-feature - Submit a pull request
Code Style
- Use TypeScript for all new code
- Follow TypeScript strict mode guidelines
- Write tests for new features
- Update documentation as needed
- Run
npm run validatebefore submitting PRs
License
MIT License - see LICENSE file for details.
Support
- Issues: GitHub Issues
- Documentation: Stampchain API Docs
- Community: Telegram @BitcoinStamps
Changelog
v0.2.0
- Stampchain API v2.3 Compatibility: Updated schemas and validation for latest API
- Enhanced Testing: Comprehensive test suite with cross-platform CI validation
- Improved Documentation: Professional README with status badges and better organization
- Simplified Development: Streamlined validation pipeline (TypeScript + Prettier)
- Bug Fixes: Resolved CI issues and schema validation improvements
v0.1.0
- Initial release
- Basic Bitcoin Stamps, Collections, and SRC-20 tools
- MCP client integration
- Comprehensive test suite
相关服务器
Astra DB
A server for interacting with the Astra DB database-as-a-service built on Apache Cassandra.
Seq MCP Server
Search and stream events from a Seq server.
MySQL MCP Server
A read-only MySQL database server for LLMs to inspect schemas and execute queries.
PostgreSQL MCP Server
A server for managing PostgreSQL databases, enabling comprehensive database operations.
Microsoft SQL Server MCP
A .NET-powered MCP server for interacting with Microsoft SQL Server databases.
Snowflake
Snowflake database integration with read/write capabilities and insight tracking
MongoDB Mongoose MCP
An MCP server for MongoDB with optional Mongoose schema support.
GraphRAG
Query a hybrid graph (Neo4j) and vector (Qdrant) database for powerful semantic and graph-based document retrieval.
Node MSSQL
A server for interacting with Microsoft SQL Server databases using the node-mssql library.
Quran Cloud
Access the Quran API from alquran.cloud to retrieve accurate Quranic text and reduce LLM hallucinations.