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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    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.
    385 npm
    ISC