nathanjclark/mcp-server
If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Shuttle MCP Server is a comprehensive Model Context Protocol server built using Rust, Axum, and Shuttle, designed for production-ready deployment with advanced features like OAuth 2.1 authentication and AI integration.
The Shuttle MCP Server is a robust and scalable solution for implementing the Model Context Protocol (MCP) in a production environment. Built with Rust, Axum, and Shuttle, this server template provides a complete setup for secure and efficient MCP operations. It includes OAuth 2.1 authentication via Auth0, ensuring secure access to all functionalities. The server is integrated with a PostgreSQL database, offering managed database services with automatic migrations. AI-powered tools are available through the `rig` crate, enhancing the server's capabilities with advanced text processing and data analysis features. The architecture is designed around a clean registry-based system, allowing for centralized management of tools, resources, and prompts. The server is fully compliant with the MCP specification, supporting JSON-RPC 2.0 with proper authentication. Deployment is streamlined with Shuttle, enabling one-click deployment to production environments.
Features
- OAuth 2.1 Authentication: Secure authentication via Auth0.
- PostgreSQL Database: Managed database with automatic migrations.
- AI Integration: AI-powered tools via the `rig` crate.
- Registry System: Centralized management of tools, resources, and prompts.
- Full MCP Compliance: Complete JSON-RPC 2.0 implementation with proper authentication.
Usages
usage with shuttle
bash shuttle run
usage with mcp inspector
bash npx @modelcontextprotocol/inspector shuttle run
usage with curl
bash curl -X POST http://localhost:8000/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test-client", "version": "1.0.0"} }, "id": 1 }'
Tools
text_length
Get character count
text_transform
Transform text case
text_search
Search for patterns
timestamp
Get current UTC time
ai_complete
Complete text prompts
ai_summarize
Summarize long text
user_stats
Get database statistics