多提供商模型上下文协议服务器

Contextive MCP Server 是一个基于TypeScript的多提供商、工作流导向的模型上下文协议(MCP)服务器,支持多模型路由、高效令牌管理和可组合工作流。

  • by BjornMelin
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 BjornMelin/contextive-mcp-server

使用说明

上下文MCP服务器

上下文MCP服务器 是一个 多提供者、面向工作流的模型上下文 协议(MCP)服务器 用TypeScript编写。

它侧重于:

  • 精益、代币高效的工具
    • 简洁的工具描述和共享提示,以减少每个工具的提示 头顶。
  • 多模型路由
    • 使用Vercel AI SDK v6通过一台服务器与多个提供商通信。
  • 可组合工作流程
    • 将工具和模型链接到作为单个工具公开的更高级别的工作流中。
  • 规范驱动设计
    • ADR和规范定义了架构。测试强制执行它。

该项目被设计为 新MCP服务器,不是任何遗产的分叉 实施。


快速启动

安装

npm install -g contextive-mcp-server
# or
npx contextive-mcp-server@latest --help

在stdio模式下运行

大多数MCP客户端(ChatGPT、Claude Desktop、Cursor等)都需要stdio 命令。

使用以下配置您的客户端:

  • 命令: contextive-mcp
  • Args: serve --stdio
  • 工作目录: 包含以下内容的项目文件夹 contextive.config.json (可选;见下文)。

最小配置

创建 contextive.config.json 在您的项目中:

{
  "server": {
    "mode": "stdio",
    "logLevel": "info"
  },
  "providers": {
    "openai": {
      "apiKey": "$OPENAI_API_KEY",
      "defaultModel": "gpt-4.1-mini"
    }
  },
  "toolPacks": {
    "fs": { "enabled": true, "mode": "read-only" },
    "http": { "enabled": false }
  }
}

然后运行:

contextive-mcp serve --stdio

您的MCP客户端现在应该可以发现以下工具 fs.read_file, fs.list_dir, 以及一个内省工具包。


特性

  • 多提供商模型

    • 通过单个接口跨提供商路由。
  • 令牌高效提示

    • 每包共享提示、简洁的工具描述、明确的预算。
  • 工作流

    • 以声明方式定义工作流,将其作为工具公开。
  • 配置优先

    • 一个配置文件,用Zod和JSON Schema验证。
  • 可观测性

    • 结构化日志记录、请求ID、可选OTEL集成。

项目结构

.
├─ src/
│  ├─ core/              # MCP server glue, config, routing
│  ├─ tool-packs/        # Individual tool packs
│  ├─ workflows/         # Workflow engine and definitions
│  └─ cli/               # contextive-mcp entrypoint
├─ config/
│  ├─ default.config.json
│  └─ config.schema.json
├─ docs/
│  ├─ adr/
│  ├─ spec/
│  └─ PRD.md
└─ package.json

看 docs/adr 和 docs/spec 详细设计。


对于贡献者

  • 从开始 docs/PRD.md 和 docs/adr/0001-adr-architecture-and-stack.md.

  • 使用 AGENTS.md 用于通过MCP处理此仓库时的代理行为。

  • 运行:

    • npm test
    • npm run lint
    • npm run build

请确保更改与ADR和规格保持一致;提出新的ADR 重大的架构变化。