AI工具共享服务器

一个基于Model Context Protocol (MCP)的共享AI工具服务器,为兼容MCP的客户端(如Claude Code、Cowork或API代理)提供集中化的AI工具访问。

  • by ChrisTregaskis
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ChrisTregaskis/mcp-hub

使用说明

MCP继电器

习俗 模型上下文协议 (MCP)服务器,向任何兼容MCP的客户端公开共享AI工具-Claude Code、Cowork或API代理。

这是什么

可重复使用 团队AI工具层 构建为MCP服务器。该服务器通过MCP协议提供对共享功能的集中访问,而不是每个开发人员或项目单独集成工具。

第一阶段范围(POC):

工具 它证明了什么 外部服务
Jira 共享API凭证访问-一个配置,整个团队受益 Jira REST API
品牌指南 从外部存储获取的每个项目的自定义配置 AWS S3

状态

US-1(基金会)完成 --架构获得批准,项目搭建完成,服务器在stdio传输上启动。实施工具故事(US-2及以后)。

技术栈

  • 运行时:Node.js 22+
  • 语言:TypeScript(严格模式)
  • MCP框架: @modelcontextprotocol/sdk v1.26
  • 验证:佐德3.25.x
  • 包管理器:pnpm
  • 格式化:更漂亮
  • 代码检查:ESLint+打字ESLint

项目结构

mcp-relay/
├── src/
│   ├── config/                    # Zod-validated config loader
│   ├── shared/                    # Errors, logger, HTTP client, rate-limit
│   ├── tools/
│   │   ├── jira/                  # get, create, update, search (stubs)
│   │   └── brand-guidelines/      # get-guidelines (stub)
│   ├── transports/
│   │   ├── stdio.ts               # Working entry point
│   │   └── http.ts                # Placeholder (Phase 2 gate)
│   ├── server.ts                  # createServer() factory
│   └── types.ts                   # ToolContext interface
├── docs/
│   └── architecture.md            # System design (v0.1)
├── CLAUDE.md                      # Project-wide AI instructions
└── package.json

入门指南

先决条件

  • Node.js>=22.0.0
  • pnpm

设置

git clone git@github.com:ChrisTregaskis/mcp-relay.git
cd mcp-relay
pnpm install
cp .env.example .env               # Fill in credentials

环境变量

变量 目的
JIRA_BASE_URL Jira实例URL(例如。 https://your-domain.atlassian.net)
JIRA_USER_EMAIL Jira帐户电子邮件
JIRA_API_TOKEN Jira API代币
AWS_ACCESS_KEY_ID AWS访问密钥(S3品牌指南)
AWS_SECRET_ACCESS_KEY AWS密钥
AWS_REGION AWS区域(默认值: eu-west-1)
S3_BUCKET_NAME S3桶用于品牌配置

命令

pnpm build                         # Compile TypeScript
pnpm dev                           # Start server (watch mode)
pnpm dev:build                     # Watch TypeScript compilation
pnpm lint                          # ESLint
pnpm format                        # Prettier (write)
pnpm format:check                  # Prettier (check only)
pnpm typecheck                     # TypeScript strict check

建筑

看 docs/architecture.md 用于整个系统设计——传输决策、工具注册模式、数据流和外部服务集成。

起源

该项目源于甲板定位器POC,在那里我们确定了对AI工具(Nanobanana图像生成)的需求,但没有发现预构建的MCP连接器。我们没有构建一次性集成,而是认识到了可重用团队工具层的机会。

看 .claude/docs/mcp-integration-strategy.md 完整的背景。

视觉参考

在共享的Miro板上捕获的探索: