Token导航 LogoToken导航TokenDH.com
MCP Server As HTTP Python logo
开发工具stdio官方级别未说明来源级核验

MCP Server As HTTP Python

MCP Server

一个专为Python模型上下文协议(MCP)服务器优化的Docker化HTTP服务,提供自动依赖管理和虚拟环境支持,当前主要支持typst-mcp服务器,并计划扩展通用Python MCP服务器兼容性。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
ShellHTTP服务器开发工具

安装说明

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

作者 / 组织

yonaka15

提供方

yonaka15

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

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

命令预览

docker run -d \\

详细介绍

MCP HTTP服务器-Python运行时

A. Docker优化 用于Python模型上下文协议(MCP)服务器的HTTP服务器,目前具有 打字员mcp 计划提供通用的Python MCP服务器支持。

🐍 专注Python:针对Python MCP服务器进行了优化,具有自动依赖管理和虚拟环境支持。
🎯 MVP与typst mcp:目前配置为typst-mcp服务器,可轻松扩展到其他Python mcp服务器。
🚀 未来路线图:专为通用Python MCP服务器兼容性而设计,包括文件系统、web搜索和自定义服务器。

🏗️ 建筑

mcp-server-as-http-python/
├── Dockerfile              # Python 3.12 optimized container
├── docker-compose.yml      # Docker Compose configuration  
├── docker-build.sh         # Build and deployment script
├── docker-entrypoint.sh    # Initialization script
├── mcp_servers.config.json # MCP server configuration
├── .env.example            # Environment template
└── README.md               # This file

核心组件:

  • 预构建二进制文件:用途 mcp-server-as-http-core 二进制(基于Rust的HTTP服务器)
  • Python环境:Python 3.13,带pip和虚拟环境
  • 动态依赖:Typst二进制和Rust工具链仅在需要时安装
  • Docker优化:多阶段构建,实现最小运行时映像

🚀 快速开始

先决条件

  • 码头工人Docker Compose
  • Git (用于存储库克隆)

选项1:Docker Compose(推荐)

# Clone repository
git clone https://github.com/yonaka15/mcp-server-as-http-python.git
cd mcp-server-as-http-python

# Copy and configure environment
cp .env.example .env
# Edit .env with your settings

# Start with Docker Compose
docker-compose up -d

# View logs
docker-compose logs -f

选项2:构建脚本

# Clone repository
git clone https://github.com/yonaka15/mcp-server-as-http-python.git
cd mcp-server-as-http-python

# Copy and configure environment  
cp .env.example .env
# Edit .env with your settings

# Build and run
./docker-build.sh

# Or use docker-compose via script
./docker-build.sh --use-compose

选项3:手动Docker

# Build image
docker build -t mcp-http-server-python .

# Run container
docker run -d \\
  --name mcp-http-server-python \\
  -p 3000:3000 \\
  --env-file .env \\
  mcp-http-server-python

⚙️ 配置

环境变量

变量默认值描述
MCP_CONFIG_FILEmcp_servers.config.jsonMCP服务器配置路径
MCP_SERVER_NAMEtypst-mcp从配置中使用的服务器名称
MCP_RUNTIME_TYPEpython运行时类型(此图像已修复)
PORT3000HTTP服务器端口
HTTP_API_KEY-用于身份验证的承载令牌
DISABLE_AUTHtrue禁用身份验证(开发默认)
WORK_DIR/tmp/mcp-serversMCP服务器的工作目录

自动MCP服务器管理

作为http核心的mcp服务器会自动处理:

  • 存储库克隆:自动克隆配置的MCP服务器存储库
  • 依赖安装:执行 build_command 安装所需的依赖项
  • 运行时管理:启动并管理MCP服务器进程
  • 动态设置:无需手动安装-所有内容都通过JSON配置

这种方法在保持简单性的同时提供了最大的灵活性。

Python MCP服务器配置

typst-mcp服务器提供强大的LaTeX到typst转换功能:

{
  "version": "1.0",
  "servers": {
    "typst-mcp": {
      "repository": "https://github.com/johannesbrandenburger/typst-mcp.git",
      "build_command": "pip install mcp[cli] numpy pillow",
      "command": "/app/venv/bin/python3",
      "args": ["server.py"],
      "env": {
        "PYTHONPATH": "/tmp/mcp-servers/typst-mcp",
        "VIRTUAL_ENV": "/app/venv",
        "PATH": "/app/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      }
    }
  }
}

🛠️ API使用

通过身份验证

curl -X POST http://localhost:3000/api/v1 \\
  -H "Authorization: Bearer your-secret-api-key" \\
  -H "Content-Type: application/json" \\
  -d '{"command": "{\\"jsonrpc\\": \\"2.0\\", \\"id\\": 1, \\"method\\": \\"tools/list\\", \\"params\\": {}}"}'

无身份验证(默认)

开发模式与 DISABLE_AUTH=true:

curl -X POST http://localhost:3000/api/v1 \\
  -H "Content-Type: application/json" \\
  -d '{"command": "{\\"jsonrpc\\": \\"2.0\\", \\"id\\": 1, \\"method\\": \\"tools/list\\", \\"params\\": {}}"}'

测试类型mcp-LaTeX转换

curl -X POST http://localhost:3000/api/v1 \\
  -H "Content-Type: application/json" \\
  -d '{"command": "{\\"jsonrpc\\": \\"2.0\\", \\"id\\": 1, \\"method\\": \\"tools/call\\", \\"params\\": {\\"name\\": \\"latex_snippet_to_typst\\", \\"arguments\\": {\\"latex_snippet\\": \\"$f \\\\in K(t^H, \\\\beta)_\\\\delta$\\"}}}"}'

健康检查

curl -f http://localhost:3000/health

🎯 typst-mcp功能

当前MVP的重点是 打字员mcp 服务器功能:

可用工具

  1. list_docs_chapters():列出Typst文档中的所有章节
  2. get_docs_chapter(route):从Typst文档中检索特定章节
  3. latex_snippet_to_typst(latex_snippet):使用Pandoc将LaTeX代码转换为Typst
  4. check_if_snippet_is_valid_typst_syntax(typst_snippet):验证Typst代码
  5. typst_snippet_to_image(typst_snippet):将Typst代码渲染为PNG图像

工作流示例

# 1. List available tools
curl -X POST http://localhost:3000/api/v1 \\
  -H "Content-Type: application/json" \\
  -d '{"command": "{\\"jsonrpc\\": \\"2.0\\", \\"id\\": 1, \\"method\\": \\"tools/list\\", \\"params\\": {}}"}'

# 2. Convert LaTeX to Typst
curl -X POST http://localhost:3000/api/v1 \\
  -H "Content-Type: application/json" \\
  -d '{"command": "{\\"jsonrpc\\": \\"2.0\\", \\"id\\": 2, \\"method\\": \\"tools/call\\", \\"params\\": {\\"name\\": \\"latex_snippet_to_typst\\", \\"arguments\\": {\\"latex_snippet\\": \\"\\\\begin{align} a &= b \\\\\\\\ c &= d \\\\end{align}\\"}}}"}'

# 3. Validate Typst syntax
curl -X POST http://localhost:3000/api/v1 \\
  -H "Content-Type: application/json" \\
  -d '{"command": "{\\"jsonrpc\\": \\"2.0\\", \\"id\\": 3, \\"method\\": \\"tools/call\\", \\"params\\": {\\"name\\": \\"check_if_snippet_is_valid_typst_syntax\\", \\"arguments\\": {\\"typst_snippet\\": \\"$f in K \\\\( t^H \\\\, beta \\\\)_delta$\\"}}}"}'

🔮 未来路线图

该项目旨在 通用Python MCP服务器支持:

计划中的MCP服务器

{
  "filesystem": {
    "repository": "https://github.com/modelcontextprotocol/python-sdk.git",
    "build_command": "cd examples/server && pip install -e ../../",
    "command": "/app/venv/bin/python3",
    "args": ["examples/server/filesystem.py", "/tmp/mcp-servers"]
  },
  "web-search": {
    "repository": "https://github.com/modelcontextprotocol/servers.git", 
    "build_command": "cd src/brave_search && pip install -r requirements.txt",
    "command": "/app/venv/bin/python3",
    "args": ["src/brave_search/server.py"]
  },
  "memory": {
    "repository": "https://github.com/modelcontextprotocol/servers.git",
    "build_command": "cd src/memory && pip install -r requirements.txt", 
    "command": "/app/venv/bin/python3",
    "args": ["src/memory/server.py"]
  }
}

延伸策略

  1. 多服务器配置:通过环境变量在不同的MCP服务器之间切换
  2. 自动依赖关系管理:自动检测并安装每台服务器的Python依赖关系
  3. 运行时检测:支持不同的Python MCP服务器模式
  4. 插件系统:轻松添加新的Python MCP服务器

🐳 Docker功能

多阶段构建

  • 第1阶段:使用优化的设置构建Rust核心二进制文件
  • 第2阶段:Python 3.12 Alpine运行时与基本工具

Python优化

  • 虚拟环境管理(/app/venv)
  • Git存储库的克隆和构建
  • Pandoc用于LaTeX转换
  • 用于文档生成的Typst二进制文件
  • 非root用户执行

安全

  • 非root用户执行(mcpuser)
  • 运行时依赖性最小
  • 健康检查端点

📊 监测和管理

查看日志

# Docker Compose
docker-compose logs -f

# Docker
docker logs -f mcp-http-server-python

容器管理

# Docker Compose
docker-compose up -d      # Start
docker-compose down       # Stop
docker-compose restart    # Restart

# Docker
docker start mcp-http-server-python
docker stop mcp-http-server-python
docker restart mcp-http-server-python

健康监测

# Check container health
docker inspect mcp-http-server-python | grep -A 10 Health

# Manual health check
curl -f http://localhost:3000/health

# Check running processes
docker exec mcp-http-server-python ps aux

🔧 开发与调试

编译选项

# Build without cache
./docker-build.sh --no-cache

# Build only (don't run)
./docker-build.sh --build-only

# Custom port
./docker-build.sh --port 3000

# Use docker-compose
./docker-build.sh --use-compose

调试

# Execute shell in container
docker exec -it mcp-http-server-python /bin/sh

# Check Python environment
docker exec mcp-http-server-python python3 --version
docker exec mcp-http-server-python pip --version

# Check virtual environment
docker exec mcp-http-server-python ls -la /app/venv/

# Check typst-mcp installation
docker exec mcp-http-server-python ls -la /tmp/mcp-servers/typst-mcp/

# Test typst binary
docker exec mcp-http-server-python typst --version

# Test pandoc
docker exec mcp-http-server-python pandoc --version

🔗 相关项目

🤝 贡献

  1. 分叉存储库
  2. 克隆你的叉子: git clone
  3. 创建要素分支
  4. 进行更改(重点关注Python MCP服务器支持)
  5. 测试用 ./docker-build.sh --build-only
  6. 提交拉取请求

添加新的MCP服务器

要添加对其他Python MCP服务器的支持:

  1. 更新 mcp_servers.config.json 使用新的服务器配置
  2. 将任何所需的系统依赖项添加到 Dockerfile
  3. 更新中的环境变量 .env.example
  4. 将文档和示例添加到README.md

📄 许可证

这个项目是MIT许可证下的开源项目。有关详细信息,请参阅LICENSE文件。

⚠️ 重要提示

  • 需要Docker:此实现仅适用于Docker,需要Docker运行
  • Python焦点:专门针对Python MCP服务器进行了优化
  • 典型的mcp MVP:当前配置为typst-mcp,可扩展到其他服务器
  • 未来环球:设计用于轻松扩展到任何Python MCP服务器

🔄 更新

要更新到最新的核心服务器:

# Rebuild with latest core
./docker-build.sh --no-cache

# Or with docker-compose
docker-compose build --no-cache

🆘 支持

  • 问题:报告此存储库中的错误和请求功能
  • 核心问题:对于HTTP服务器核心功能,请使用 岩心库
  • 打字员mcp:对于typst-mcp特定问题,请使用 typst-mcp存储库

🚀 部署选项

发展

# Quick development setup
cp .env.example .env
echo "DISABLE_AUTH=true" >> .env
echo "MCP_SERVER_NAME=typst-mcp" >> .env
docker-compose up -d

生产

# Production setup with authentication
cp .env.example .env
echo "DISABLE_AUTH=false" >> .env
echo "HTTP_API_KEY=your-secure-api-key-here" >> .env
echo "MCP_SERVER_NAME=typst-mcp" >> .env
docker-compose up -d

______________________________________________________________________

内置于❤️ MCP(模型上下文协议)社区

🐳 Docker优化•🐍 专注于Python📝 打字mcp就绪•🚀 普遍可扩展

目录标签

目录标签

ShellHTTP服务器开发工具本地部署PythonMCP服务器Docker化服务typst转换自动依赖管理

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP