Token导航 LogoToken导航TokenDH.com
MCP Server Final logo
运维云端stdio官方级别未说明来源级核验

MCP Server Final

MCP Server

一个独立的MCP(Model Context Protocol)服务器,提供HTTP REST API和WebSocket端点,用于MCP操作,支持与Jira、ServiceNow等系统的集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API集成Python配置管理WebSocket

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Avinash-Venkatswamy

提供方

Avinash-Venkatswamy

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

MCP服务器

一个独立的MCP(模型上下文协议)服务器,为MCP操作提供HTTP REST API和WebSocket端点。任何应用程序都可以使用此服务器与MCP服务器进行交互,以实现Jira、ServiceNow和其他集成。

特性

  • REST API:用于MCP服务器管理和操作的HTTP端点
  • WebSocket API:MCP操作的实时通信
  • 服务器管理:启动、停止、重新启动和监视MCP服务器
  • 工具执行:执行MCP工具并处理自然语言请求
  • 配置管理:动态配置更新
  • 健康监测:服务器健康检查和状态监视

建筑

mcp-server/
├── 01_server/           # Core server components
│   ├── 01_core/         # Core MCP functionality
│   ├── 02_api/          # REST and WebSocket APIs
│   ├── 03_config/       # Configuration management
│   └── 04_utils/        # Utility functions
├── 02_mcp_servers/      # MCP server configurations
│   ├── 01_jira_mcp/     # Jira MCP server
│   ├── 02_servicenow_mcp/ # ServiceNow MCP server
│   └── 03_common/       # Common MCP components
├── 03_communication/    # Communication libraries
├── 04_documentation/    # Documentation
├── 05_tests/           # Test suites
└── 06_deployment/      # Deployment scripts

快速开始

先决条件

  • Python 3.8或更高版本
  • 虚拟环境(推荐)

安装

  1. 克隆存储库
   git clone 
   cd mcp-server
  1. 创建虚拟环境
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项
   pip install -r requirements.txt
  1. 配置环境
   cp env.example .env
   # Edit .env with your configuration
  1. 启动服务器
   python main.py

服务器将于启动 http://localhost:8001

API终点

REST API

服务器管理

  • GET /api/v1/status -获取整体系统状态
  • POST /api/v1/servers/start -启动MCP服务器
  • POST /api/v1/servers/stop -停止MCP服务器
  • POST /api/v1/servers/restart -重新启动MCP服务器

MCP操作

  • GET /api/v1/mcp/tools -从MCP服务器获取可用工具
  • POST /api/v1/mcp/process_request -处理自然语言请求
  • POST /api/v1/mcp/call_tool -调用特定的MCP工具

配置

  • GET /api/v1/config -获取当前配置
  • PUT /api/v1/config -更新配置
  • POST /api/v1/config/reload -重新加载配置

WebSocket API

连接到 ws://localhost:8001/ws 用于实时通信。

消息类型

  • ping -健康检查
  • subscribe -订阅活动
  • mcp_request -MCP操作请求
  • server_action -服务器管理操作

事件

  • mcp_server_status -服务器状态更新
  • mcp_tool_execution -工具执行结果
  • mcp_error -错误通知
  • server_health_update -健康更新

使用示例

REST API示例

启动Jira MCP服务器

curl -X POST "http://localhost:8001/api/v1/servers/start" \
  -H "Content-Type: application/json" \
  -d '{"server_name": "jira-mcp", "action": "start"}'

处理自然语言请求

curl -X POST "http://localhost:8001/api/v1/mcp/process_request" \
  -H "Content-Type: application/json" \
  -d '{
    "request": "Get all active users from Jira",
    "system": "jira",
    "provider": "openai",
    "api_key": "your_api_key"
  }'

获取可用工具

curl "http://localhost:8001/api/v1/mcp/tools?server_name=jira-mcp"

WebSocket示例

JavaScript客户端

const ws = new WebSocket('ws://localhost:8001/ws');

ws.onopen = function() {
    // Subscribe to events
    ws.send(JSON.stringify({
        type: 'subscribe',
        events: ['mcp_server_status', 'mcp_tool_execution']
    }));
    
    // Send MCP request
    ws.send(JSON.stringify({
        type: 'mcp_request',
        request_id: '123',
        request: 'Get active users from Jira',
        system: 'jira'
    }));
};

ws.onmessage = function(event) {
    const data = JSON.parse(event.data);
    console.log('Received:', data);
};

Python客户端

import websockets
import json
import asyncio

async def mcp_client():
    uri = "ws://localhost:8001/ws"
    async with websockets.connect(uri) as websocket:
        # Subscribe to events
        await websocket.send(json.dumps({
            "type": "subscribe",
            "events": ["mcp_server_status", "mcp_tool_execution"]
        }))
        
        # Send MCP request
        await websocket.send(json.dumps({
            "type": "mcp_request",
            "request_id": "123",
            "request": "Get active users from Jira",
            "system": "jira"
        }))
        
        # Listen for responses
        async for message in websocket:
            data = json.loads(message)
            print(f"Received: {data}")

asyncio.run(mcp_client())

配置

环境变量

变量描述默认值
MCP_SERVER_PORT服务器端口8001
MCP_SERVER_HOST服务器主机0.0.0.0
MCP_LOG_LEVEL日志记录级别信息
MCP_MAX_CONNECTIONS最大WebSocket连接数100
MCP_AUTH_TOKEN身份验证令牌-
OPENAI_API_KEYOpenAI API密钥-
ANTHROPIC_API_KEY无烟煤API密钥-

MCP服务器配置

MCP服务器配置在 02_mcp_servers/ 目录:

  • 01_jira_mcp/01_config.json -Jira MCP服务器配置
  • 02_servicenow_mcp/01_config.json -ServiceNow MCP服务器配置

发展

运行测试

# Run all tests
python -m pytest 05_tests/

# Run specific test categories
python -m pytest 05_tests/01_unit_tests/
python -m pytest 05_tests/02_integration_tests/
python -m pytest 05_tests/03_api_tests/

编码结构

  • 核心组件:MCP服务器管理、启动器、客户端集成
  • API层:REST和WebSocket端点
  • 配置:环境和服务器配置管理
  • 公用事业:健康检查、流程管理、安全

部署

Docker部署

# Build image
docker build -t mcp-server .

# Run container
docker run -p 8001:8001 mcp-server

生产部署

  1. 设置环境变量
  2. 配置反向代理(nginx)
  3. 设置SSL证书
  4. 配置监控和日志记录
  5. 建立流程管理(系统、主管)

故障排除

常见问题

  1. 端口已在使用中

- 检查是否有其他服务正在使用端口8001 - 更改配置中的端口

  1. MCP服务器未启动

- 检查MCP服务器配置 - 验证是否安装了依赖项 - 检查日志是否有错误

  1. WebSocket连接问题

- 验证WebSocket端点是否可访问 - 检查防火墙设置 - 确保消息格式正确

日志

日志被写入 mcp_server.log 默认情况下。集 LOG_LEVEL 在环境中进行更详细的日志记录。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

许可证

\[在此处添加您的许可证信息\]

支持

有关支持和问题:

  • 在存储库中创建问题
  • 检查文档
  • 查看故障排除部分

目录标签

目录标签

API集成Python配置管理WebSocketAPI服务本地部署服务器管理健康监测

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP