Token导航 LogoToken导航TokenDH.com
Ts MCP Wrapper logo
AI代理未说明官方级别未说明来源级核验

Ts MCP Wrapper

MCP Server

一个模型上下文协议(MCP)服务器,支持跨多个配置的MCP服务器进行动态TypeScript脚本编写,提供统一的工具编排接口。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

Pearcekieser

提供方

Pearcekieser

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

TypeScript MCP 元服务器

一个模型上下文协议(MCP)服务器,能够在多个配置的MCP服务器之间实现动态TypeScript脚本编写。

结果!

它运行得非常好,自动生成和测试功能都正常,但MCP没有提供返回结构的定义。因此,我无法为返回值生成类型,这导致我们在构建能够处理嵌套或流水线工具调用的脚本时受到了很大限制。

这是一个很有趣的项目,我在晚上看电视的时候用“vibe coding”(一种随心所欲、灵感驱动的编码方式)完成了它。但我怀疑这个项目就此结束,因为其结构不足以检测到所有所需的信息。

*如果我想继续下去:* 在元服务器初始化时,我可以尝试运行足够的端点来自动检测结果。并且/或者,我可以将结果存储在某个地方,并让这个MCP(管理控制平面/模型控制平面等,具体含义根据上下文确定)随着时间的推移,基于这些结果来学习/更新其类型。

目的

这个MCP(多层感知器或某种特定技术/组件的缩写,具体含义需根据上下文确定)充当一个元层,其作用是:

  • 从多个配置的MCP服务器中聚合工具
  • 为所有可用工具生成TypeScript定义
  • 执行用户提供的TypeScript脚本,这些脚本可以调用任何已配置的工具
  • 为多MCP(管理控制平面)编排提供统一接口

用例

  • 在多个MCP服务器之间构建复杂的工作流
  • 编写可重用的TypeScript脚本,利用多个工具生态系统
  • 动态发现并使用工具,无需手动定义类型
  • 使大型语言模型(LLMs)能够在一个操作中编写和执行多工具脚本

建筑

组件

  1. 配置管理器加载并验证MCP服务器配置
  2. MCP 客户端池保持与已配置的MCP服务器的连接
  3. 规格生成器自省工具并生成TypeScript定义(如有需要,使用AWS Bedrock Claude)
  4. 脚本执行器编译并运行用户TypeScript脚本,提供工具访问权限
  5. 工具代理将脚本中的工具调用路由到适当的MCP服务器

设计考量因素

工具发现

  • 启动时,连接到所有已配置的MCP服务器
  • 通过MCP协议查询每台服务器的可用工具
  • 用于定义生成的缓存工具模式

TypeScript 定义生成

  • 将MCP工具模式转换为TypeScript接口
  • 生成一个包含所有工具功能的统一模块
  • 如果直接映射失败,使用AWS Bedrock Claude进行复杂模式转换
  • 在工具描述中包含JSDoc注释

脚本执行流程

  1. 接收来自(某处的)TypeScript脚本 run-script 工具
  2. 注入与生成定义相匹配的工具代理函数
  3. 将TypeScript编译为JavaScript(使用 ts-node 或者 esbuild
  4. 执行默认导出函数
  5. 捕获工具调用并将请求路由到相应的MCP服务器
  6. 向调用者返回结果或错误摘要

错误处理

  • 编译错误:返回 TypeScript 诊断信息
  • 运行时错误:捕获堆栈跟踪和上下文
  • 工具调用错误:包括MCP服务器的响应
  • 利用Bedrock将复杂的错误链总结为可操作的反馈

安全

  • 沙盒脚本执行(考虑使用VM2或隔离的工作者线程)
  • 验证工具调用是否符合已知模式
  • 长时间运行脚本的超时保护
  • 脚本无法访问文件系统或网络(仅可通过MCP工具访问)

实施任务清单

第一阶段:核心基础设施

  • \[x\] 初始化stdio MCP服务器模板
  • \[x\] 安装所需的依赖项
  • \[x\] 为MCP服务器列表定义配置模式
  • \[x\] 实现MCP客户端连接管理器
  • \[x\] 创建工具发现和缓存系统

第二阶段:规格生成

  • \[x\] 构建MCP模式到TypeScript类型的转换器
  • \[ \] 为复杂架构实现AWS Bedrock集成
  • \[x\] 创建 get-spec 返回 TypeScript 定义的工具
  • \[x\] 为生成的规范添加缓存和失效处理

第三阶段:脚本执行

  • \[x\] 设置 TypeScript 编译管道
  • \[x\] 创建工具代理注入系统
  • \[x\] 实施 run-script 带有脚本参数的工具
  • \[x\] 构建工具调用路由器以连接到目标MCP服务器

阶段4:错误处理与反馈

  • \[x\] 捕获并格式化编译错误
  • \[x\] 实现运行时错误处理
  • \[x\] 集成Bedrock以进行错误汇总
  • \[x\] 添加详细的日志记录和调试输出

第五阶段:测试与文档编制

  • \[x\] 创建示例配置
  • \[x\] 编写示例 TypeScript 脚本
  • \[ \] 添加使用模拟MCP服务器的集成测试
  • \[x\] 文档配置格式及使用示例

第六阶段:优化

  • \[ \] 添加连接池并重用连接
  • \[ \] 实施规范缓存策略
  • \[ \] 优化脚本编译(增量构建)
  • \[ \] 添加性能监控

配置格式

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "..."
      }
    }
  }
}

提供的工具

get-spec

从配置的MCP服务器中返回所有可用工具的TypeScript定义。

回报包含TypeScript模块定义的字符串

run-script

执行一个TypeScript脚本,该脚本可访问所有已配置的工具。

参数

  • script带有默认导出函数的TypeScript代码 () => Promise

退货脚本执行结果或错误概要

示例用法

// Script provided to run-script tool
export default async function() {
  // Tools are injected based on configured MCPs
  const files = await filesystem.listDirectory({ path: "/src" });
  const issues = await github.listIssues({ repo: "owner/repo" });
  
  return {
    fileCount: files.length,
    openIssues: issues.filter(i => i.state === "open").length
  };
}

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于支持自动重建的开发:

npm run watch

测试

运行集成测试套件:

npm test

测试套件包括:

  1. 服务器启动和工具发现
  2. 从MCP工具生成TypeScript规范
  3. 脚本编译和执行
  4. 基于底层技术的脚本生成 - AI使用现有工具编写并执行脚本

全面测试的前提条件

AWS Bedrock 访问权限 (测试5所需):

  1. 在AWS中配置凭证 ~/.aws/credentials
  2. 在AWS控制台中启用Bedrock模型访问:

- 导航至 AWS Bedrock → 模型访问 - 请求访问: Claude 3.5 Sonnet v2 (跨区域推理配置文件)

  1. 确保您的AWS区域支持Bedrock(例如。, us-east-1

如果没有访问Bedrock的权限,测试5将失败。测试1-4仍然会通过并验证核心功能。

使用方法

  1. 创建一个配置文件 mcp-config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    }
  }
}
  1. 设置配置路径(可选,默认为 ./mcp-config.json):
export MCP_CONFIG_PATH=./mcp-config.json
  1. 为Bedrock配置AWS凭证(可选,用于错误汇总):
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
  1. 运行服务器:
node build/index.js

或者,通过在您的配置中添加以下内容来与 Claude Desktop 一起使用:

{
  "mcpServers": {
    "ts-mcp-meta": {
      "command": "node",
      "args": ["/path/to/ts-mcp/build/index.js"],
      "env": {
        "MCP_CONFIG_PATH": "/path/to/mcp-config.json"
      }
    }
  }
}

调试

由于MCP服务器通过标准输入输出进行通信,调试可能会具有挑战性。我们建议使用 MCP 检查器

npm run inspector

检查员将提供一个URL,以便您在浏览器中访问调试工具。

依赖项

  • @modelcontextprotocol/sdkMCP协议实现
  • typescriptTypeScript 编译器
  • @aws-sdk/client-bedrock-runtime用于AI辅助规格生成
  • esbuild脚本编译
  • zod配置验证

未来的改进/增强

  • 持久脚本库
  • 脚本版本控制和历史记录
  • 并行工具执行
  • 长运行脚本的流式结果
  • 基于网页的脚本编辑器和调试器

目录标签

目录标签

TypeScriptClaudeAI代理TypeScript脚本本地部署多服务器编排工具聚合动态类型生成工作流自动化

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP