Information
Claude TypeScript MCP 服务器
这是一个面向使用大型语言模型(LLMs)进行开发辅助的软件开发者的 Model Context Protocol (MCP) 服务器集合。尽管许多开发者更倾向于 Cline,因为它可以直接与 VSCode 集成,但它的按需付费 API 在大量使用时会变得非常昂贵。这个项目通过将 Claude 桌面应用程序与自定义的 MCP 服务器连接起来,利用了固定费率的 Claude Pro 订阅服务,提供了类似的开发辅助功能而无需承担可变成本。
日语解说文章: Cline委托でコードを書いていたらAPIクレジットが爆散したのでClaude Desktop + MCPをいい感じにしてサブスクだけで無双する
概览
此项目实现了几个可以与 Claude 桌面应用程序一起使用的 MCP 服务器,以增强其软件开发能力:
Brave Search:使用 Brave Search API 提供网络搜索和本地搜索功能
Filesystem:启用带有安全限制的文件系统操作
Git:提供用于管理仓库的 Git 功能
GitHub:允许与 GitHub 仓库、问题、拉取请求等进行交互
Shell:在受控环境中执行 shell 命令
Puppeteer:通过 Puppeteer 实现浏览器自动化和网页交互
Fetch:从 URL 获取内容并将 HTML 转换为 Markdown 以提高可读性
需求
Node.js (v18+)
Bun 作为 JavaScript/TypeScript 运行环境
Claude Desktop 应用程序
安装
克隆仓库:
git clone https://github.com/yourusername/claude-ts-mcps.git
cd claude-ts-mcps
安装依赖项:
bun install
配置
要使这些 MCP 服务器与 Claude 桌面应用程序配合使用,你需要创建一个配置文件来告诉 Claude 如何连接到它们。以下是一个示例配置:
\{
"mcpServers": \{
"brave-search": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/brave-search.ts"
],
"env": \{
"BRAVE_API_KEY": "YOUR_BRAVE_API_KEY"
\}
\},
"filesystem": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/filesystem.ts",
"/Users/username"
]
\},
"git": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/git.ts"
]
\},
"github": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/github.ts"
],
"env": \{
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_DEFAULT_TOKEN",
"GITHUB_TOKEN_WORK": "YOUR_WORK_ACCOUNT_TOKEN",
"GITHUB_TOKEN_PERSONAL": "YOUR_PERSONAL_ACCOUNT_TOKEN"
\}
\},
"shell": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/shell.ts"
]
\},
"puppeteer": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/puppeteer.ts"
]
\},
"fetch": \{
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/Users/username/Documents/claude-ts-mcps/src/fetch.ts"
],
"env": \{
"CUSTOM_USER_AGENT": "YOUR_CUSTOM_USER_AGENT", // Optional
"IGNORE_ROBOTS_TXT": "false" // Optional, set to true to ignore robots.txt
\}
\}
\}
\}
将此配置保存为 claude_desktop_config.json 并配置 Claude 桌面应用程序以使用它。
多个 GitHub 账户支持
GitHub MCP 服务器支持在多个 GitHub 账户之间切换。你可以通过配置环境变量来设置多个账户配置文件:
"env": \{
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_DEFAULT_TOKEN", // Default account (backward compatible)
"GITHUB_TOKEN_WORK": "YOUR_WORK_ACCOUNT_TOKEN", // Work account profile
"GITHUB_TOKEN_PERSONAL": "YOUR_PERSONAL_ACCOUNT_TOKEN" // Personal account profile
\}
要在你的请求中使用特定的账户配置文件,请向任何 GitHub API 调用添加 account_profile 参数:
\{
"owner": "username",
"repo": "repo-name",
"path": "path/to/file.txt",
"account_profile": "work" // Will use the GITHUB_TOKEN_WORK environment variable
\}
如果没有指定 account_profile,则默认使用 GITHUB_PERSONAL_ACCESS_TOKEN。
Fetch 服务器配置
Fetch MCP 服务器通过环境变量提供了定制选项:
"env": \{
"CUSTOM_USER_AGENT": "YOUR_CUSTOM_USER_AGENT", // Optional: Specify a custom User-Agent header
"IGNORE_ROBOTS_TXT": "false" // Optional: Set to "true" to bypass robots.txt rules
\}
CUSTOM_USER_AGENT:允许你为 HTTP 请求定义特定的 User-Agent 字符串,当某些网站基于客户端标识限制访问时这可能很有用。
IGNORE_ROBOTS_TXT:默认情况下(false),fetch 服务器遵循网站设置的 robots.txt 规则来控制网络爬虫。将其设置为 "true" 可禁用这一限制,但应负责任地使用。
使用方法
启动 Claude 桌面版
加载配置文件
Claude 现在可以访问这些 MCP 服务器提供的额外工具
开发
每个 MCP 服务器都作为一个独立的 TypeScript 文件在 src 目录中实现:
src/brave-search.ts: Brave Search API 集成
src/filesystem.ts: 文件系统操作
src/git.ts: Git 操作
src/github.ts: GitHub API 集成,用于仓库管理、问题、拉取请求等
src/shell.ts: Shell 命令执行
src/puppeteer.ts: 浏览器自动化和网页交互
src/fetch.ts: URL 内容检索和 HTML 到 Markdown 的转换
GitHub MCP 服务器具有模块化结构:
src/github/common/: 公用工具、接口和类型
src/github/operations/: 各种 GitHub API 操作的实现
src/github/tools/: MCP 服务器的工具定义
要添加新功能:
在 src 目录中创建一个新的 TypeScript 文件
使用 @modelcontextprotocol/sdk 实现 MCP 服务器
将新的服务器添加到您的 Claude Desktop 配置中
安全注意事项
文件系统和 shell 服务器包括防止未经授权访问的安全措施
在执行命令前始终验证用户输入
在配置允许的目录以供文件系统访问时要小心
使用 shell 服务器的命令白名单来限制可执行命令
fetch 服务器默认尊重 robots.txt 指令,以防止抓取受限制的站点
安全存储您的 GitHub 个人访问令牌,并使用适当的令牌权限
参考资料
Model Context Protocol
MCP 服务器快速入门
Anthropic Claude
许可证
MIT 许可证