Skip to main content
Glama

HTTP MCP Server

A Model Context Protocol (MCP) server that provides GitHub repository information via both HTTP and stdio transports. This server enables AI assistants and other MCP clients to fetch GitHub repositories for any user.

πŸš€ Features

  • GitHub Repository Fetcher: Retrieve all repositories for any GitHub username

  • Dual Transport Modes:

    • HTTP Mode: Run as a web server for remote access

    • stdio Mode: Run locally for MCP client integration

  • Type-Safe: Built with TypeScript and Zod for schema validation

  • Express Integration: Modern HTTP server with JSON support

πŸ“‹ Prerequisites

  • Node.js (v18 or higher)

  • npm or yarn

πŸ”§ Installation

  1. Clone the repository:

git clone https://github.com/kh-mahmoud/streamable-mcp.git cd streamable-mcp
  1. Install dependencies:

npm install
  1. Build the project:

npm run build

🎯 Usage

HTTP Mode (Web Server)

Start the server in HTTP mode:

npm run server

The server will start on http://localhost:3000 (or the port specified in PORT environment variable).

API Endpoint:

  • POST /mcp - MCP JSON-RPC endpoint

stdio Mode (Local MCP Client)

For local MCP client integration:

node build/index.js stdio

Development Mode

Run with hot-reload during development:

npm run server

MCP Inspector

Inspect the MCP server:

npm run inspect

πŸ› οΈ Available Tools

get_repos

Fetches all public repositories for a given GitHub username.

Parameters:

  • username (string): GitHub username to fetch repositories for

Returns:

  • List of all repositories with their names

## πŸ“ Project Structure ```bash http_mcp/ β”œβ”€β”€ src/ β”‚ └── index.ts # Main server implementation β”œβ”€β”€ build/ β”‚ └── index.js # Compiled JavaScript β”œβ”€β”€ package.json # Dependencies and scripts β”œβ”€β”€ tsconfig.json # TypeScript configuration └── Readme.md # This file

πŸ› οΈ Technologies Used

πŸ“ Scripts

  • npm run build: Compile TypeScript to JavaScript

  • npm start: Start the HTTP server

  • npm run server: Start development server with hot-reload

  • npm run inspect: Inspect MCP server with MCP Inspector

πŸ”Œ MCP Client Integration

To use this server with an MCP client, configure it in your MCP client settings:

For stdio mode:

{ "mcpServers": { "http_mcp": { "command": "node", "args": ["path/to/build/index.js"] } } }

For HTTP mode:

npm i mcp-remote
"http-mcp": { "command": "mcp-remote", "args": [ "http://localhost:3000/mcp" or "your/deployment/link/mcp" ], "env":{ "NODE_OPTIONS":"--no-deprecation" } }

πŸ”— Resources

⭐ If you find this project useful, please consider giving it a star!

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kh-mahmoud/streamable-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server