模型上下文协议服务器

提供多种基于Python、Node和Docker的模型上下文协议服务器,用于在Stigen.io编排平台上部署。

  • by stigenai
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 stigenai/mcp-servers

使用说明

MCP服务器

此存储库包含可部署在Stigen.io编排器平台上的各种MCP(模型上下文协议)服务器的Docker映像。

概述

MCP服务器有不同的种类:

  • 基于Python:通过运行 uvx (uv执行)
  • 基于节点:通过运行 npx (节点执行)
  • 基于Docker:预制集装箱

该存储库提供了一种标准化的方式来容器化Python和基于Node的MCP服务器,同时还支持自定义Docker映像。

存储库结构

servers/
├── python/           # Python-based MCP servers
│   ├── base/        # Base Python Docker image
│   └── time/        # Time server implementation
├── node/            # Node-based MCP servers
│   ├── base/        # Base Node Docker image
│   └── playwright/  # Playwright automation server
└── registry.json    # Server registry metadata

支持的服务器

内置服务器

服务器 类型 描述 图像
time 巨蟒 提供时间和时区功能 ghcr.io/stigenai/mcp-time:latest
剧作家 NODE 浏览器自动化和playwright的网络抓取 ghcr.io/stigenai/mcp-playwright:latest
zettelkasten PYTHON 使用SQLite存储实施zettelkasten方法论进行知识管理 ghcr.io/stigenai/mcp-zettelkasten:latest

自定义服务器

用户还可以通过指定以下内容来携带自己的Docker容器 serverType: "custom" 并提供自己的 containerImage.

在当地建设

先决条件

  • 码头工人
  • Bash
  • jq
  • 疫情

构建特定服务器

./scripts/build.sh time

构建所有服务器

./scripts/build-all.sh

GitHub 操作

该存储库包括用于构建、验证、同步和维护的GitHub Actions工作流:

  • build-servers.yml:检测更改的MCP服务器,验证注册表/配置完整性,并构建更改的服务器映像(PR+推送+手动)
  • build-base-images.yml:构建共享的Python/Node基础映像(计划+手动+可重用)
  • build-reistry.yml:当注册表元数据更改时,生成并发布注册表OCI映像
  • sync-mcp-repos.yml:定期将上游MCP提交/发布元数据同步到 servers/registry.json 并忽略已存档/禁用的上游GitHub存储库(将过时的提交/发布元数据回填到 null)
  • cleanup-images.yml:清除GHCR中的旧容器图像标签
  • pr-notify.yml:为新的可供审核的PR发送Slack通知

服务器配置

每个服务器都有一个 config.yml 定义以下内容的文件:

  • 名字:服务器标识符
  • 类型:python、node或docker
  • 版本:语义版本
  • 环境:具有默认值的环境变量
  • 资源:CPU和内存要求

例子:

name: mcp-time
type: python
version: 1.0.0
description: "MCP server that provides time and timezone functionality"
environment:
  - name: MCP_PORT
    default: "3000"
    required: false
    secret: false
resources:
  cpu: 0.25
  memory: 256

环境变量和秘密

服务器可以在其配置中定义环境变量:

  • 必需的:是否必须提供变量
  • 秘密:变量是否包含敏感数据
  • 默认:默认值(如果未提供)

秘密按用户/组织加密存储,并在运行时注入。

与编排器集成

服务器注册表有两种可用方式:

1.作为OCI映像(推荐)

# Pull the registry image
docker pull ghcr.io/stigenai/mcp-servers-registry:latest

# Extract registry.json using the provided script
./scripts/get-registry.sh

# Or manually extract
docker create --name temp-registry ghcr.io/stigenai/mcp-servers-registry:latest
docker cp temp-registry:/registry.json ./registry.json
docker rm temp-registry

2.通过GitHub原始URL

https://raw.githubusercontent.com/stigenai/mcp-servers/main/servers/registry.json

这允许编排器:

  • 列出可用的服务器类型
  • 获取默认配置
  • 验证服务器部署
  • 自动填充容器图像

贡献

看 贡献.md 用于依赖性PR分流策略和贡献规则。

要添加新的MCP服务器,请执行以下操作:

  1. 在下创建新目录 servers/[type]/[name]
  2. 添加a Dockerfile
  3. 添加a config.yml
  4. 更新 servers/registry.json
  5. 在中添加更改日志条目 CHANGELOG.md 对于用户可见的更改
  6. 本地测试 ./scripts/build.sh [name]
  7. 提交拉取请求

有关发行说明约定,请参见 docs/release/entry-process.md.

更新日志

许可证

[添加许可证信息]