π¦
mcp-platform
Model Context Protocol integration for Ts.ED HTTP adapters.
0 installs
Trust: 67 β Good
Other
Ask AI about mcp-platform
Powered by Claude Β· Grounded in docs
I know everything about mcp-platform. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
MCP Platform
A comprehensive Model Context Protocol (MCP) Platform that enables seamless integration between LLM applications and various external services through a microservice architecture.
π― Project Objectives
- Modular Architecture: Build a scalable microservice platform for MCP server integration
- LLM Integration: Provide seamless connectivity between Large Language Models and external tools/services
- Tool Orchestration: Centralized management of tool calls and service interactions
- Extensible Design: Easy addition of new MCP servers and tools
- Production Ready: Include authentication, rate limiting, and session management
- Multi-Service Support: Support for multiple MCP servers (Jira, Calculator, etc.)
ποΈ Architecture
ββββββββββββββββββββββββββββββββ
β Web UI β <--- Frontend app (React, Vue, etc.)
βββββββββββββββ¬βββββββββββββββββ
β HTTP/REST/WS
βββββββββββββββΌβββββββββββββββββ
β API Gateway / Backend β <--- Backend service (Golang, Node.js)
β - ΰΈ£ΰΈ±ΰΈ request ΰΈΰΈ²ΰΈ UI β
β - ΰΈΰΈ΄ΰΈΰΈΰΉΰΈΰΈΰΈ±ΰΈ mcphost process β
β - ΰΈΰΈ±ΰΈΰΈΰΈ²ΰΈ£ session, auth, β
β rate limit ΰΈ―ΰΈ₯ΰΈ― β
βββββββββββββββ¬βββββββββββββββββ
β stdin/stdout or TCP or gRPC
βββββββββββββββΌβββββββββββββββββ
β MCP Host β <--- mcphost CLI process (Microservice)
β - ΰΉΰΈΰΈ·ΰΉΰΈΰΈ‘ LLM ΰΈΰΈ±ΰΈ MCP Server β
β - ΰΈΰΈ±ΰΈΰΈΰΈ²ΰΈ£ΰΈΰΈ²ΰΈ£ΰΉΰΈ£ΰΈ΅ΰΈ’ΰΈ tool β
βββββββββββββββ¬βββββββββββββββββ
β gRPC
βββββββββββββββΌββββββββββββββββββββββββββββ
β MCP Server(s) β <--- Microservice MCP Server
β - ΰΉΰΈ«ΰΉΰΈΰΈ£ΰΈ΄ΰΈΰΈ²ΰΈ£ tool ΰΈΰΉΰΈ²ΰΈ ΰΉ β
β - ΰΈΰΈ²ΰΈΰΈ£ΰΈ±ΰΈΰΈ«ΰΈ₯ΰΈ²ΰΈ’ΰΈΰΈ±ΰΈ§ (calculator, Jira, etc.) β
βββββββββββββββββββββββββββββββββββββββββββ
π¦ Components
1. API Gateway (api-gateway/)
- Purpose: RESTful API gateway and backend service
- Technology: Go with Cobra CLI framework
- Responsibilities:
- Handle HTTP/REST/WebSocket requests from frontend
- Manage user sessions and authentication
- Rate limiting and request throttling
- Route requests to appropriate MCP Host processes
2. MCP Host (mcphost/)
- Purpose: Bridge between LLM and MCP Servers
- Technology: Go with gRPC communication
- Responsibilities:
- Manage tool calls and orchestrate service interactions
- Connect LLM requests to appropriate MCP servers
- Handle protocol translation and message routing
- Provide CLI interface for direct service interaction
3. MCP Server - Jira (mcp-server-jira/)
- Purpose: Jira integration MCP server
- Technology: Go with REST API integration
- Features:
- Create Jira issues from prompts
- Sync Jira project data
- LLM-powered issue generation
- Secure authentication with Jira API
4. Shared Protocol (shared/proto/)
- Purpose: Protocol definitions for inter-service communication
- Technology: Protocol Buffers (gRPC)
- Services:
JiraService: Issue creation, synchronization- Extensible for additional services
β¨ Features
- π Modular MCP Server Architecture: Easy integration of new tools and services
- π€ LLM Integration: Seamless connectivity with Large Language Models
- π Jira Integration: Create and manage Jira issues through natural language
- π Secure Communication: gRPC-based inter-service communication
- π οΈ CLI Tools: Direct command-line access to all services
- π Scalable Design: Microservice architecture for horizontal scaling
- π Real-time Updates: Support for WebSocket connections
- π Protocol Standardization: Consistent API across all MCP servers
π Prerequisites
- Go: Version 1.23.9 or later
- Protocol Buffers: For gRPC code generation
- Make: For build automation
- Jira Account: For Jira integration features
π§ Installation & Setup
1. Clone the Repository
git clone https://github.com/cuenobi/mcp-platform.git
cd mcp-platform
2. Install Dependencies
# Install Go modules for all components
go mod download
# Install dependencies for individual components
cd api-gateway && go mod download && cd ..
cd mcphost && go mod download && cd ..
cd mcp-server-jira && go mod download && cd ..
cd shared/proto/gen && go mod download && cd ../../..
3. Generate Protocol Buffers
cd shared/proto
make generate
4. Environment Configuration
Create .env file for Jira integration:
# Jira Configuration
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-jira-api-token
5. Build Services
# Build API Gateway
cd api-gateway
go build -o api-gateway .
# Build MCP Host
cd ../mcphost
go build -o mcphost .
# Build MCP Server Jira
cd ../mcp-server-jira
go build -o mcp-server-jira .
π Usage
API Gateway
cd api-gateway
./api-gateway apiGateway
MCP Host - Jira Operations
cd mcphost
# Sync Jira issues
./mcphost jira sync --project YOUR_PROJECT_KEY
# Create Jira issue from prompt
./mcphost jira create-card --project YOUR_PROJECT_KEY --prompt "Create a bug report for login issue"
MCP Server - Direct Usage
cd mcp-server-jira
./mcp-server-jira
ποΈ Development
Adding a New MCP Server
- Create Service Directory
mkdir mcp-server-newservice
cd mcp-server-newservice
- Initialize Go Module
go mod init github.com/cuenobi/mcp-platform/mcp-server-newservice
- Define Protocol
// shared/proto/protos/newservice.proto
syntax = "proto3";
package newservice;
service NewService {
rpc ProcessRequest(ProcessRequest) returns (ProcessResponse);
}
- Generate Code
cd shared/proto
make generate
- Implement Service
// Implement your MCP server logic
Protocol Buffer Development
cd shared/proto
# Generate Go code
make generate
# Clean generated files
make clean
π Security
- Environment Variables: Store sensitive credentials in environment variables
- API Token Authentication: Use secure API tokens for external service integration
- gRPC Security: Implement TLS for production gRPC communication
- Rate Limiting: Built-in rate limiting in API Gateway
- Input Validation: Comprehensive input validation across all services
π€ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow Go best practices and conventions
- Write comprehensive tests for new features
- Update documentation for API changes
- Use meaningful commit messages
- Ensure all services build successfully
π License
This project is licensed under the MIT License - see the individual LICENSE files in each component directory for details.
π Support
For questions and support:
- Create an issue in the GitHub repository
- Check existing documentation in each component
- Review the architecture diagram for system understanding
Built with β€οΈ using Go, gRPC, and Modern Microservice Architecture
