Claude TypeScript MCP服务器(面向软件开发人员)
模型上下文协议(MCP)服务器的全面集合 将Claude Desktop转变为强大的开发助手。这个项目 利用您的统一费率Claude Pro/Max订阅提供功能 类似于Cline,但没有长期的API成本。
日语解说报道: Cline交给我写代码的话API因为信用卡爆散了Claude Desktop + MCP感觉很好,只在清真寺无双
🚀 特性
- 文件系统操作 -安全地读取、写入和管理文件
限制
- Git集成 -完整的Git工作流支持,包括提交、分支、,
和差异
- GitHub API -使用多帐户管理存储库、问题、PR等
支持
- 网页搜索 -基于人工智能的Sonar搜索和传统关键字搜索
勇敢
- 浏览器自动化 -30+用于网页抓取和自动化的Puppeteer工具
- shell命令 -在受控环境中执行开发命令
- URL获取 -使用HTML将网页内容提取为Markdown
转换
📋 需求
🛠️ 安装
# Clone the repository
git clone https://github.com/yourusername/claude-ts-mcps.git
cd claude-ts-mcps
# Install dependencies
bun install⚙️ 配置
为Claude Desktop创建一个包含所有MCP服务器的配置文件:
{
"mcpServers": {
"filesystem": {
"command": "/Users/username/.bun/bin/bun",
"args": [
"run",
"/path/to/claude-ts-mcps/src/filesystem.ts",
"/Users/username"
]
},
"git": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/claude-ts-mcps/src/git.ts"]
},
"github": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/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"
}
},
"brave-search": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/claude-ts-mcps/src/brave-search.ts"],
"env": {
"BRAVE_API_KEY": "YOUR_BRAVE_API_KEY"
}
},
"sonar": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/claude-ts-mcps/src/sonar.ts"],
"env": {
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY"
}
},
"puppeteer": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/claude-ts-mcps/src/puppeteer/index.ts"]
},
"shell": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/claude-ts-mcps/src/shell.ts"]
},
"fetch": {
"command": "/Users/username/.bun/bin/bun",
"args": ["run", "/path/to/claude-ts-mcps/src/fetch.ts"],
"env": {
"CUSTOM_USER_AGENT": "YOUR_CUSTOM_USER_AGENT",
"IGNORE_ROBOTS_TXT": "false"
}
}
}
}🔧 可用工具
文件系统操作(filesystem)
- 安全:仅限于具有符号链接保护的指定目录
- 核心业务:
- 支持编码(utf-8、base64、十六进制)的读/写文件 - 按字节范围或行范围读取部分文件 - 移动、复制、删除、追加文件 - 创建目录和管理文件树
- 高级编辑:
- 文本替换为差异预览 - 基于行的操作(替换、插入、删除特定行) - 用捕获组替换正则表达式
- 搜索功能:
- 按名称模式搜索文件 - 在文件中搜索内容(纯文本或正则表达式) - 排除模式支持
- 批量操作:
- 高效地执行多个文件操作 - 读取操作的并行执行 - 支持回滚的事务模式
- 档案管理:
- 压缩文件(zip、tar、tar.gz) - 使用覆盖控制提取档案
- 文件监视:
- 检查自特定时间以来的文件更改 - 支持更改、重命名和删除事件
- 用例:代码编辑、项目管理、文件分析、批量
运营
Git集成(git)
- 完整Git工作流:init、add、commit、branch、checkout、diff、log
- 库管理:状态跟踪、历史查看
- 标签管理:
- 创建轻量级和带注释的标签 - 使用模式过滤列出标签 - 显示标签详细信息和消息 - 删除不需要的标签
- 用例:版本控制、代码审查、项目历史、发布管理
GitHub API(github)
- 库管理:创建、搜索、管理存储库
- 问题和公关:创建、更新、合并拉取请求和问题
- 发布管理:创建、更新和管理版本
- 多账户支持:在工作/个人帐户之间切换
- 文件操作:通过API直接创建和更新文件
网络搜索工具
人工智能驱动的搜索(sonar)
- 自然语言理解:用通俗易懂的语言问复杂的问题
- 综合答案:通过引用获得全面的回复
- 多种型号:
- sonar:快速通用搜索 - sonar-pro:具有200k上下文的复杂查询 - sonar-reasoning:思维链推理 - sonar-deep-research:综合研究模式
- 用例:研究、事实核查、学习复杂主题
传统搜索(brave-search)
- 网页搜索:基于关键字的搜索返回多个结果
- 本地搜索:查找企业和服务
- 用例:快速查找,查找多个来源,本地信息
浏览器自动化(puppeteer)
我们最全面的工具,有30多种功能,分为以下几类:
🧭 导航和基本交互
- 导航到URL,截图
- 单击元素,填写表单,选择选项
- 将鼠标悬停在元素上,执行JavaScript
⏳ 等待操作
- 等待元素、超时、导航
- 等待自定义JavaScript条件
⌨️ 键盘操作
- 按键和组合键
- 键入具有类似人类延迟的文本
📄 页面管理
- 设置视口大小,后退/前进,重新加载
- 生成PDF,模拟设备
🍪 Cookie和身份验证
- 设置/获取Cookie、HTTP身份验证
ℹ️ 信息检索
- 获取页面标题、URL、HTML内容
- 提取文本和详细元素信息
🖼️ 帧操作(高级)
- 列出所有帧,在帧之间切换
- 在特定帧中执行JavaScript
- 在所有框架中搜索元素
🔧 杂项
- 添加脚本标签,清除输入字段
Shell命令(shell)
- 受控执行:基于允许列表的命令限制
- 开发工具:npm、yarn、bun、git、node、python、tsc
- 安全:防止危险操作、目录限制
- 特性:命令字符串的自动解析、输出大小限制、超时
控制
- 流媒体模式:现在默认启用!捕获长时间运行的输出
过程 - 超时(默认:10秒)或缓冲后自动返回部分输出 限制(100KB) - 正常命令照常完成;仅影响长时间运行的进程 - 流式传输超时后,进程会自动终止(安全 默认) - 保持流程运行 killOnStreamingTimeout: false - 非常适合:开发服务器、构建监视器、交互式命令 - 禁用 streaming: false 如有需要
- 用例:包管理、构建过程、脚本执行、服务器
监控
URL内容获取(fetch)
- 内容提取:将HTML转换为干净的Markdown
- 定制:自定义用户代理、robots.txt处理
- 用例:文件阅读、内容分析
💡 使用示例
开发工作流程
You: "Create a new React component for user authentication"
Claude: *Uses filesystem to create component file, npm to install dependencies*
You: "Find examples of OAuth implementation on GitHub"
Claude: *Uses GitHub search and fetch to find and analyze implementations*
You: "Test the login form on our staging site"
Claude: *Uses Puppeteer to navigate, fill forms, and verify functionality*研究与分析
You: "What are the latest best practices for Next.js 14 App Router?"
Claude: *Uses Sonar for comprehensive research with citations*
You: "Compare our package.json with similar projects"
Claude: *Uses GitHub to find similar projects, filesystem to read local files*自动化
You: "Extract all product prices from this e-commerce site"
Claude: *Uses Puppeteer to navigate pages, extract data, and compile results*
You: "Monitor our GitHub issues and create a summary"
Claude: *Uses GitHub API to fetch issues, analyze patterns, generate report*🔒 安全考虑
- 文件系统:仅限于指定目录
- 外壳:命令必须在列表中
- 凭证:安全存储API密钥,使用环境变量
- GitHub:使用最小令牌权限
- 获取:默认情况下尊重robots.txt
🏗️ 项目结构
claude-ts-mcps/
├── src/
│ ├── filesystem.ts # File operations
│ ├── git.ts # Git integration
│ ├── github.ts # GitHub API (main entry)
│ ├── github/ # GitHub implementation
│ ├── brave-search.ts # Brave search API
│ ├── sonar.ts # Perplexity Sonar API
│ ├── sonar/ # Sonar types and utilities
│ ├── puppeteer/ # Browser automation
│ │ ├── index.ts # Main entry point
│ │ ├── tools/ # Tool definitions
│ │ ├── handlers/ # Implementation
│ │ └── state.ts # State management
│ ├── shell.ts # Shell commands (entry)
│ ├── shell/ # Shell implementation
│ │ ├── index.ts # Main logic
│ │ ├── executor.ts # Command execution
│ │ ├── types.ts # Type definitions
│ │ └── ... # Other modules
│ └── fetch.ts # URL fetching
└── package.json🚧 发展
要添加新功能,请执行以下操作:
- 在中创建一个新的TypeScript文件
src/ - 使用以下工具实现MCP服务器
@modelcontextprotocol/sdk - 添加具有清晰描述的工具定义
- 包括正确的错误处理和验证
- 更新配置文件
测试您的更改
# Run a specific MCP server directly
bun run src/your-new-server.ts
# Test with Claude Desktop
# Update your config and restart Claude类型检查
这个项目使用TypeScript来保证类型安全。有几个类型检查命令 可用:
# Standard type check (all strict checks enabled)
bun run type-check
# Type check with file watching for development
bun run type-check:watch
# Type check without unused variable warnings (good for development)
bun run check:loose
# Strict type check (same as type-check)
bun run check:strict当前类型问题
该项目功能正常,但存在一些正在解决的类型问题:
- 一些Puppeter API需要正确的类型导入
- 一些潜在的未定义值需要保护
- 某些文件中未使用的变量(在开发过程中可以忽略)
这些不会影响运行时功能,但会随着时间的推移而清理干净。
代码格式化
此项目使用Prettier实现一致的代码格式。下列 命令可用:
# Format all files
bun run format
# Check formatting without making changes
bun run format:check
# Format only source files (src directory)
bun run format:src
# Check formatting of source files only
bun run format:check:src
# Run both formatting check and type check
bun run lint
# Fix formatting and run type check
bun run lint:fix预分级配置
该项目使用以下Prettier设置(.prettierrc):
- 打印宽度:100个字符(JSON/Markdown为80个字符)
- 跳格宽度:2个空格
- 分号:始终
- 语录:双引号
- 追踪通讯:全部(ES5+)
- 阿罗·帕伦斯:始终包含括号
保存时格式化
为了获得最佳的开发体验,请将编辑器配置为保存时格式化:
VS代码:添加到 .vscode/settings.json:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
}其他编辑:检查编辑器的文档以了解Prettier集成。
