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

Mcpserve Ts

MCP Server

一个基于TypeScript的模型上下文协议(MCP)服务器,通过stdio提供JSON-RPC 2.0接口,为AI助手如Claude暴露Git仓库工具和项目资源浏览功能。

工具数

8

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptClaudeAI助手集成Claude

安装说明

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

作者 / 组织

devaloi

提供方

devaloi

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

mcpserve ts

![CI](https://github.com/devaloi/mcpserve-ts/actions/workflows/ci.yml)

A. 模型上下文协议 TypeScript中的(MCP)服务器——通过stdio手动滚动JSON-RPC 2.0。为Claude等AI助手公开Git存储库工具和项目资源浏览。

特性

  • 手动滚动MCP协议 --基于stdio的JSON-RPC 2.0,不依赖SDK
  • 8工具 --Git操作、项目浏览、安全shell执行
  • 3种资源类型 --文件内容、package.json、目录树
  • 路径沙盒 --所有文件操作仅限于项目根目录
  • Zod验证 --对每个工具调用进行严格的输入验证
  • TypeScript严格 --零 any 类型,全类型安全
  • 最小依赖性 --只有 zod 在运行时

快速开始

# Install
git clone https://github.com/devaloi/mcpserve-ts.git
cd mcpserve-ts
npm install
npm run build

# Run
PROJECT_ROOT=/path/to/your/project node dist/index.js

# Test
npm test

Claude桌面配置

添加 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mcpserve-ts": {
      "command": "node",
      "args": ["/path/to/mcpserve-ts/dist/index.js"],
      "env": {
        "PROJECT_ROOT": "/path/to/your/project"
      }
    }
  }
}

工具

工具说明参数
git_status显示工作树状态path?
git_diff显示阶段性或非阶段性更改path?, staged?
git_log显示提交历史记录path?, limit?
git_blame逐行显示作者身份file
project_tree列出目录结构path?, depth?
read_file读取文件内容path
search_files使用正则表达式搜索pattern, path?, glob?
run_command执行分配的命令command, args?

壳牌许可清单

仅允许通过以下方式执行这些命令 run_command: ls, cat, wc, head, tail, find, grep

资源

URI描述MIME类型
file:///{path}项目文件内容自动检测到
project:///package.json解析包.json应用程序/json
project:///tree目录树文本/纯文本

建筑

src/
├── index.ts              # Entry point: register tools, start stdio
├── server.ts             # MCP server: method dispatch
├── protocol.ts           # JSON-RPC 2.0 types and codec
├── transport.ts          # Stdio transport (line-delimited JSON)
├── config.ts             # Zod-validated env config
├── tools/
│   ├── registry.ts       # Tool registry (name → handler + schema)
│   ├── git.ts            # Git tools: status, diff, log, blame
│   ├── project.ts        # Project tools: tree, read, search
│   └── shell.ts          # Safe shell: allowlisted commands only
├── resources/
│   ├── provider.ts       # Resource provider interface
│   ├── project.ts        # File resources (file:///path)
│   └── package.ts        # package.json + tree resources
├── lib/
│   ├── constants.ts      # Shared constants (limits, skip dirs)
│   ├── git.ts            # Git CLI wrapper (execFile)
│   ├── sandbox.ts        # Path sandboxing
│   ├── schemas.ts        # Zod schemas for tool inputs
│   └── tree.ts           # Shared directory tree builder

MCP协议

实施 模型上下文协议 规范:

  • 运输: 基于stdio的JSON-RPC 2.0(换行符分隔的JSON)
  • 协议版本: 2024-11-05
  • 方法: initialize, ping, tools/list, tools/call, resources/list, resources/read
  • 通知: notifications/initialized

握手示例

# Initialize
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}' | node dist/index.js

配置

变量默认值描述
PROJECT_ROOTcwd文件操作的根目录
LOG_LEVELinfo日志级别:调试、信息、警告、错误

日志被写入stderr;stdout保留用于JSON-RPC消息。

发展

npm run build       # Compile TypeScript
npm run dev         # Watch mode
npm run test        # Run tests (Vitest)
npm run typecheck   # Type-check without emitting
npm run lint        # ESLint
make all            # lint + typecheck + build + test

技术栈

组件选择
运行时Node.js 20+
语言TypeScript 5(严格)
协议手动JSON-RPC 2.0
验证Zod
测试Vitest
LintingESLint+打字ESLint

许可证

麻省理工学院

贡献

贡献.md.PR欢迎运行 npm test && npm run lint 在提交之前。

目录标签

目录标签

TypeScriptClaudeAI助手集成JSON-RPC本地部署Git工具项目资源浏览

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP