🚀 用於軟件開發者的Claude TypeScript MCP服務器
本項目是一個Model Context Protocol(MCP)服務器集合,專為使用大語言模型(LLM)進行開發協助的軟件開發者打造。許多開發者青睞Cline的直接VSCode集成,但API費用過高是個難題。本項目通過實現一組強大的MCP服務器,有效解決了這一問題。
🚀 快速開始
Claude TypeScript MCP服務器是一組用TypeScript編寫的定製化工具,能增強Claude Desktop的功能。這些服務器提供了文件系統操作、Git版本控制、GitHub集成、瀏覽器自動化及URL內容檢索等實用工具,助力開發者更高效地完成日常任務。
✨ 主要特性
功能
- Brave Search:藉助Brave Search API,實現快速且注重隱私的網絡搜索。
- 文件系統:提供安全的文件操作功能,涵蓋讀取、寫入和目錄管理。
- Git:支持完整的Git版本控制操作,如提交、拉取和切換分支。
- GitHub:集成GitHub API,支持倉庫管理、問題跟蹤和Pull Request操作。
- Shell命令:允許在受控環境中執行系統命令。
- Puppeteer:實現瀏覽器自動化,用於網頁抓取和交互測試。
- Fetch:支持從URL獲取內容,並具備HTML到Markdown的轉換功能。
安全
所有服務器都內置了嚴格的安全措施:
- 文件系統和Shell服務器會對訪問權限進行限制。
- Shell命令執行基於白名單機制,僅允許特定的安全命令。
- Fetch服務器默認遵守
robots.txt
規則,避免不必要的網絡抓取衝突。
📦 安裝指南
使用前的準備
系統要求
- 操作系統:支持Node.js的任何現代操作系統(Windows、macOS、Linux)。
- Node.js版本:16.0或更高版本。
- npm版本:6.0或更高版本。
安裝步驟
- 克隆此倉庫:
git clone https://github.com/your-repository.git
- 安裝依賴項:
cd your-repository
npm install
- 啟動服務器:
npm start
📚 詳細文檔
配置說明
加載配置文件
- 打開Claude Desktop。
- 導入
config.json
文件(位於項目根目錄)。
- 確保Claude Desktop能夠訪問必要的環境變量。
環境變量配置
GitHub服務器
GitHub MCP服務器支持多賬戶配置:
"env": {
"GITHUB_PERSONAL_TOKEN": "your-personal-token",
"GITHUB_WORK_ACCOUNT_TOKEN": "your-work-account-token"
}
在請求中指定account_profile
參數以選擇特定的賬戶:
{
"owner": "username",
"repo": "repo-name",
"path": "path/to/file.txt",
"account_profile": "work"
}
Fetch服務器
通過環境變量自定義Fetch行為:
"env": {
"CUSTOM_USER_AGENT": "YourCustomAgent/1.0",
"IGNORE_ROBOTS_TXT": "true"
}
使用方法
- 啟動Claude Desktop。
- 加載項目根目錄中的
config.json
文件。
- 開始使用新的工具功能。
開發指南
每個MCP服務器都是獨立的TypeScript模塊,位於src
目錄中:
src/brave-search.ts
:Brave Search API集成。
src/filesystem.ts
:文件系統操作。
src/git.ts
:Git命令執行。
src/github.ts
:GitHub API集成(包括倉庫、問題和Pull Request)。
src/shell.ts
:受控的Shell命令執行。
src/puppeteer.ts
:瀏覽器自動化功能。
src/fetch.ts
:URL內容檢索和HTML到Markdown轉換。
添加新功能
- 在
src
目錄下創建一個新的TypeScript文件。
- 使用
@modelcontextprotocol/sdk
實現新的MCP服務器。
- 將新服務器添加到配置文件中。
🔧 技術細節
安全注意事項
- 文件系統和Shell服務器嚴格限制了訪問權限,防止未授權操作。
- 始終對用戶輸入進行驗證,避免命令注入攻擊。
- 配置時謹慎選擇允許的目錄路徑。
- 使用受信任的來源獲取GitHub令牌,並確保其安全存儲。
參考資料
📄 許可證
[項目許可證信息]