Vane MCP Server
A production-ready Model Context Protocol (MCP) server that extends GitHub Copilot with GitHub repository management capabilities. Enables AI-driven issue tracking, repository information retrieval, and seamless GitHub integration.
README
Vane MCP Server - GitHub Copilot Integration
A production-ready Model Context Protocol (MCP) server that extends GitHub Copilot with GitHub repository management capabilities. Enables AI-driven issue tracking, repository information retrieval, and seamless GitHub integration.
โจ Features
- ๐ HTTP-based MCP Server - Universal compatibility with AI tools
- ๐ GitHub Integration - Native GitHub tool support (list issues, create issues, get repo info)
- ๐ฏ Agent-Ready Architecture - Built on Vane agent framework with workspace isolation
- ๐ Semantic Caching - Intelligent context management with confidence thresholds
- ๐ง Configurable - Centralized configuration with environment variable support
- ๐ Production-Ready - Railway/Docker deployment guides included
- ๐ Reusable - Single MCP server instance serves multiple projects
๐ Quick Start
Local Development (5 minutes)
# 1. Clone and setup
git clone https://github.com/myou260312-eng/skills-integrate-mcp-with-copilot
cd skills-integrate-mcp-with-copilot
# 2. Configure environment
cp .env.example .env
# Edit .env with GITHUB_TOKEN
# 3. Install dependencies
pip install -r requirements.txt
# 4. Start MCP server
python mcp_server.py
Output:
โ
MCP Server started at http://0.0.0.0:3000
๐ MCP Server is running. Press Ctrl+C to stop.
Verify Server
curl http://localhost:3000/mcp/
๐ Production URL
https://mdabul-project.railway.app/mcp/
Use this URL in any project's .vscode/mcp.json:
{
"servers": {
"github": {
"type": "http",
"url": "https://mdabul-project.railway.app/mcp/"
}
}
}
๐ API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Server status and capabilities |
/mcp/ |
GET | MCP tools and resources |
/ |
POST | Execute MCP tools |
๐ ๏ธ Available Tools
list_issues
List GitHub issues fromany of my repository.
Parameters:
state(string): "open", "closed", or "all"labels(array): Filter by labelslimit(integer): Max results (default: 10)
Example:
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-d '{
"tool": "list_issues",
"parameters": {"state": "open", "limit": 5}
}'
create_issue
Create a new GitHub issue.
Parameters:
title(string, required): Issue titlebody(string): Issue descriptionlabels(array): Labels to add
Example:
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-d '{
"tool": "create_issue",
"parameters": {
"title": "New Feature Request",
"body": "Description here",
"labels": ["enhancement"]
}
}'
get_repository_info
Get information about the configured repository.
Example:
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-d '{"tool": "get_repository_info"}'
โ๏ธ Configuration
Environment Variables
# Required
GITHUB_TOKEN=ghp_xxxx # GitHub Personal Access Token
GITHUB_REPO_OWNER=myou260312-eng # Repository owner
GITHUB_REPO_NAME=repo-name # Repository name
# Optional
MCP_ENABLED=true # Enable/disable MCP (default: true)
LLM_MODEL=gpt-3.5-turbo # LLM model to use
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
DEBUG_MODE=false # Verbose logging
VANE_ROOT_ID=VANE_ROOT_ID_8A9B3C4D5E6F7G8H # Workspace ID
Core Settings (config.py)
| Setting | Default | Purpose |
|---|---|---|
MCP_ENABLED |
true |
Enable/disable MCP |
TEMPERATURE |
0.0 |
LLM determinism (0=strict) |
CONFIDENCE_HIGH_THRESHOLD |
0.85 |
High confidence barrier |
API_TIMEOUT |
3.5s |
External API timeout |
MAX_TOKENS |
800 |
Max LLM response tokens |
๐ฆ Project Structure
skills-integrate-mcp-with-copilot/
โโโ config.py # Core configuration with MCP settings
โโโ mcp_server.py # MCP HTTP server implementation
โโโ requirements.txt # Python dependencies
โโโ .env.example # Environment variable template
โโโ .vscode/
โ โโโ mcp.json # VS Code MCP configuration
โโโ MCP_DEPLOYMENT_GUIDE.md # Complete deployment guide
โโโ README.md # This file
๐ Using with GitHub Copilot
In VS Code or Codespace
- Update
.vscode/mcp.jsonwith my MCP server URL - Click Start button and authenticate
- Open Copilot Chat and use:
@github List all open issues @github Create issue: Bug fix needed @github Show repository information
๐ Deploy to Production
Railway.app (Recommended)
- Visit Railway.app
- Create new project from GitHub repo
- Name service:
mdabul-project - Add environment variables
- Deploy! My URL:
https://mdabul-project.railway.app/mcp/
Docker
docker build -t vane-mcp-server .
docker run -p 3000:3000 \
-e GITHUB_TOKEN=$GITHUB_TOKEN \
-e MCP_ENABLED=true \
vane-mcp-server
Heroku
heroku create mdabul-mcp-server
git push heroku main
heroku config:set GITHUB_TOKEN=ghp_xxxx
๐ Complete Documentation
See MCP_DEPLOYMENT_GUIDE.md for:
- Detailed setup instructions
- Multiple deployment options
- Troubleshooting guide
- Testing procedures
- Cross-project usage examples
๐งช Testing
Test Locally
# Server status
curl http://localhost:3000/mcp/
# List issues
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-d '{"tool": "list_issues", "parameters": {"state": "open"}}'
Test Production
curl https://mdabul-project.railway.app/mcp/
Test with Copilot
In VS Code Copilot Chat:
@github What are the open issues?
๐ Reuse Across Projects
We can use this MCP server in any GitHub project:
- Copy
.vscode/mcp.jsonto your project - Update
.envwith your repo credentials - Start using:
@githubcommands in Copilot Chat
One server. Unlimited projects. ๐ฏ
๐ Checklist
- [x] MCP server implementation
- [x] GitHub tool integration
- [x] Vane agent framework integration
- [x] Local testing
- [x] Production deployment guide
- [x] VS Code configuration
- [x] Documentation
- [x] Railway URL configured
๐ ๏ธ Architecture
Core Components
config.py - Centralized configuration
- Workspace isolation via VANE_ROOT_ID
- MCP server settings
- LLM orchestration parameters
- Confidence thresholds
- Logging configuration
mcp_server.py - HTTP MCP Server
MCPRequestHandler- HTTP request processingMCPServer- Server lifecycle management- Tool execution engine
- GitHub integration interface
Vane Agent Framework
- Semantic caching with Chroma DB
- Confidence-based filtering
- Structured workspace management
๐ Security
- GitHub token stored in
.env(never committed) - HTTPS enforced in production
- Request validation on all endpoints
- Error handling prevents information leakage
๐ Logging
Logs stored in: workspaces/{VANE_ROOT_ID}/logs/vane_agent.log
Configure verbosity:
LOG_LEVEL=DEBUG DEBUG_MODE=true python mcp_server.py
๐ค Contributing
This is a production MCP server. To extend:
- Add new tools in
MCPRequestHandler.CAPABILITIES - Implement handler methods:
handle_<tool_name>() - Update documentation
- Test locally before deploying
๐ License
MIT License - See LICENSE file for details
๐ Resources
๐ Support
For issues or questions:
- Check MCP_DEPLOYMENT_GUIDE.md troubleshooting section
- Review logs:
tail -f workspaces/*/logs/vane_agent.log - Test connectivity:
curl https://mdabul-project.railway.app/mcp/
My MCP Server: https://mdabul-project.railway.app/mcp/
Built by MD ABUL HOSSAIN (myou260312-eng) | 2026
Copyright ยฉ 2026 MD ABUL HOSSAIN (MCP SERVER). All Rights Reserved.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.