mcp-server

nathanjclark/mcp-server

3.3

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

  1. text_length

    Get character count

  2. text_transform

    Transform text case

  3. text_search

    Search for patterns

  4. timestamp

    Get current UTC time

  5. ai_complete

    Complete text prompts

  6. ai_summarize

    Summarize long text

  7. user_stats

    Get database statistics