About MCP Servers Collection
MCP Servers Collection runs multiple MCP servers in separate Docker containers and exposes them over SSE through Supergateway. It is for developers who want to start and manage services such as GitHub, Linear, Notion, and filesystem operations together.
Key features
- 01Start multiple services with Docker Compose
- 02Isolate each service in its own container and port
- 03Expose connection endpoints over SSE
- 04Persist data in mounted volumes
- 05Restart services and inspect logs individually
Use cases
- 01Run several MCP servers from one setup
- 02Connect selectively to GitHub or Linear services
- 03Provide local SSE endpoints to MCP clients
MCP support
The project exposes multiple MCP servers to clients over SSE using Supergateway, with a separate port for each service. The collection includes GitHub, Linear, Notion, filesystem, memory, documentation, and Prisma services.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Servers Collection
This project runs multiple MCP servers using Supergateway to expose each server over SSE (Server-Sent Events). Each server runs in its own container on a dedicated port.
Quick Start
# Copy environment file
cp .env.example .env
# Edit your API tokens
vim .env
# Start all services
docker-compose up -d
Architecture
- Multiple containers, each running a specific MCP server via Supergateway
- Each server exposed on a unique port (9001-9006)
- Servers can be connected to individually or all at once
- Persistent data stored in mounted volumes
Available Commands
Basic Operations
# Start all services
docker-compose up -d
# Stop all services
docker-compose down
# Restart all services
docker-compose restart
# Check status
docker-compose ps
# View logs from all services
docker-compose logs -f
# View logs from specific service
docker-compose logs -f mcp-filesystem
docker-compose logs -f mcp-github
Individual Service Management
# Restart specific service
docker-compose restart mcp-filesystem
docker-compose restart mcp-github
# Shell into specific container
docker-compose exec mcp-filesystem sh
docker-compose exec mcp-github sh
# View logs from last 50 lines
docker-compose logs --tail=50
Cleanup
# Stop and remove containers
docker-compose down
# Stop and remove containers + volumes
docker-compose down -v
# Pull latest images
docker-compose pull
MCP Servers & Ports
| Service | Port | Description | Environment Variables |
|---|---|---|---|
| mcp-github | 9001 | GitHub repository access | GITHUB_TOKEN, GITHUB_OWNER |
| mcp-linear | 9002 | Linear issue tracking | LINEAR_API_KEY, GITHUB_TOKEN |
| mcp-notion | 9003 | Notion workspace access | NOTION_TOKEN |
| mcp-filesystem | 9004 | File system operations | - |
| mcp-memory | 9005 | Persistent memory | - |
| mcp-sequential-thinking | 9006 | Step-by-step reasoning | - |
| mcp-context7 | 9007 | Up-to-date documentation | DEFAULT_MINIMUM_TOKENS |
| mcp-prisma | 9009 | Prisma database management | - |
Configuration
Environment Variables
- Copy the example:
make setup(orcp .env.example .env) - Edit
.envwith your actual API tokens:GITHUB_OWNER- Your GitHub usernameGITHUB_TOKEN- GitHub Personal Access TokenNOTION_TOKEN- Notion API tokenLINEAR_API_KEY- Linear API key
Connecting to MCP Servers
Each server is available via SSE at:
- SSE Endpoint:
http://localhost:900X/sse - POST Messages:
http://localhost:900X/message
Claude Desktop Configuration
Connect to individual servers:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9001/sse"]
},
"linear": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9002/sse"]
},
"notion": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9003/sse"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9004/sse"]
},
"memory": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9005/sse"]
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9006/sse"]
},
"context7": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9007/sse"]
},
"prisma": {
"command": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9009/sse"]
}
}
}
Zed Editor Configuration
{
"context_servers": {
"github": {
"command": {
"path": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9001/sse"]
}
},
"filesystem": {
"command": {
"path": "npx",
"args": ["-y", "supergateway", "--sse", "http://localhost:9004/sse"]
}
}
}
}
Service Details
GitHub MCP Server (Port 9001)
- Repository operations (clone, create, update)
- Issue and PR management
- File operations within repositories
- Requires:
GITHUB_TOKEN,GITHUB_OWNER
Linear MCP Server (Port 9002)
- Issue creation and management
- Project and team operations
- Integration with GitHub repositories
- Requires:
LINEAR_API_KEY,GITHUB_TOKEN
Notion MCP Server (Port 9003)
- Database queries and updates
- Page creation and modification
- Block-level operations
- Requires:
NOTION_TOKEN
Filesystem MCP Server (Port 9004)
- File and directory operations
- Mounted to
/workspace(maps to/home/vagrant/projects) - Read, write, create, delete operations
Memory MCP Server (Port 9005)
- Persistent memory across sessions
- Data stored in
/home/vagrant/.shared-memory - Key-value storage for context retention
Sequential Thinking MCP Server (Port 9006)
- Step-by-step reasoning and planning
- Multi-step problem solving
- No external dependencies
Context7 MCP Server (Port 9007)
- Fetches up-to-date, version-specific documentation
- Pulls code examples straight from the source
- Helps avoid outdated training data and hallucinated APIs
- Usage: Add "use context7" to your prompts
- Environment:
DEFAULT_MINIMUM_TOKENS(default: 10000)
Prisma MCP Server (Port 9009)
- Prisma database management and schema operations
- Database instance management for Postgres
- Schema migrations and database operations
- Early access features for Prisma Platform
- No API key required (uses Prisma CLI authentication)
Troubleshooting
Check container status:
docker-compose ps
View logs from all services:
docker-compose logs -f
View logs from specific service:
docker-compose logs -f mcp-github # GitHub server logs
docker-compose logs -f mcp-filesystem # Filesystem server logs
# etc.
Test individual server connectivity:
curl http://localhost:9001/sse # Should return SSE stream
curl http://localhost:9004/sse # Filesystem server
Full restart:
docker-compose down
docker-compose up -d
Shell into specific container:
docker-compose exec mcp-github sh
docker-compose exec mcp-filesystem sh
Development
Add a new MCP server:
- Add service to
docker-compose.yml - Choose next available port (9007+)
- Add environment variables to
.env.exampleif needed - Update this README with server details
Monitor all services:
docker-compose up -d && docker-compose logs -f
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.