Skip to main content
Glama

MCP Server Project

A simple project demonstrating how to build and use MCP (Model Context Protocol) servers.

Quick Start

  1. Install dependencies:

pip install -r requirements.txt
  1. Configure MCP server in Windsurf/Claude Desktop:

{
  "mcpServers": {
    "github": {
      "command": "python",
      "args": ["/path/to/server/github.py"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here (see .env.example)"
      }
    },
    "database": {
      "command": "python", 
      "args": ["/path/to/server/database.py"]
    }
  }
}
  1. Use with LLM:

  • Start Windsurf/Claude Desktop

  • Ask: "Show me octocat's repositories"

  • LLM will automatically call the MCP server tools

Related MCP server: GitHub MCP Server

πŸš€ Live Deployment

This MCP server is deployed and available for testing at:

  • URL: https://my-mcp.fastmcp.app/mcp

  • Status: Production ready

Using the Deployed Server

Configure Windsurf to use the deployed endpoint:

{
  "mcpServers": {
    "github-mcp-deployed": {
      "url": "https://my-mcp.fastmcp.app/mcp",
      "disabled": false
    }
  }
}

Test the deployed server:

  • Ask any LLM with MCP support: "Show me repositories for gn1264"

  • The deployed server will respond with GitHub data

Benefits of Deployed Server

  • βœ… No local Python environment required

  • βœ… Always available and reliable

  • βœ… Managed infrastructure

  • βœ… Same functionality as local version

Testing (Optional)

For development and testing:

# Test GitHub server
python testing/test_github_server.py get-repos octocat

# Test Database server
python testing/test_database_server.py query "SELECT * FROM users"

Project Structure

mcp/
β”œβ”€β”€ server/                 # MCP servers
β”‚   β”œβ”€β”€ github.py          # GitHub API server
β”‚   └── database.py        # Database server
β”œβ”€β”€ client/                 # Real LLM client
β”‚   └── mcp_client.py      # LLM integration example
β”œβ”€β”€ testing/               # Server testing utilities
β”‚   β”œβ”€β”€ test_github_server.py   # Test GitHub server
β”‚   └── test_database_server.py # Test Database server
β”œβ”€β”€ simple.db              # Sample database file
β”œβ”€β”€ requirements.txt        # Dependencies
β”œβ”€β”€ README.md             # This file
└── learn.md              # Learning guide

MCP Servers

Both servers are independent and demonstrate different use cases:

GitHub Server (server/github.py)

  • Purpose: Demonstrates how GitHub MCP servers work in the market

  • Use Case: Public GitHub API access for general users

  • Tools: GitHub API operations (get repos, commits, search, etc.)

  • Similar to: Commercial GitHub MCP integrations

Database Server (server/database.py)

  • Purpose: Shows enterprise database integration patterns

  • Use Case: Internal database access in enterprise environments

  • Tools: SQL query execution

  • Similar to: Custom internal MCP servers for company data

Testing vs Real Usage

Testing Utilities (testing/)

  • Direct tool calls to test server functionality

  • Manual tool selection

LLM Client (client/mcp_client.py)

  • Real MCP usage with LLM integration

  • Dynamic tool selection

Learning

See learn.md for detailed explanations of MCP concepts and how this project works.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A collection of production-ready MCP servers for PostgreSQL, SQLite, Redis, File System, and GitHub API, enabling database operations, file management, and GitHub interactions through natural language.
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that provides tools for interacting with the GitHub API, enabling AI assistants to query repositories, pull requests, issues, commits, users, and more.
      494 npm
      ISC