claude ts mcps
A collection of Model Context Protocol servers that enable Claude Desktop to provide development assistance capabilities with filesystem, Git, shell command, and web search functionality without incurring API usage costs.
A collection of Model Context Protocol servers that enable Claude Desktop to provide development assistance capabilities with filesystem, Git, shell command, and web search functionality without incurring API usage costs.
A collection of Model Context Protocol (MCP) servers aimed at software developers who use LLMs for development assistance. While many developers prefer Cline for its direct VSCode integration, it uses a pay-per-use API that becomes costly with heavy usage. This project leverages the flat-rate Claude Pro subscription by connecting Claude Desktop application with custom MCP servers, providing comparable development assistance capabilities without the variable costs.
日本語による解説記事: Cline任せでコード書いてたらAPIクレジットが爆散したのでClaude Desktop + MCPをいい感じにしてサブスクだけで無双する
This project implements several MCP servers that can be used with Claude Desktop to enhance its capabilities for software development:
Clone the repository:
git clone https://github.com/yourusername/claude-ts-mcps.git
cd claude-ts-mcps
Install dependencies:
bun install
To use these MCP servers with Claude Desktop, you need to create a configuration file that tells Claude how to connect to them. Here's an example configuration:
{
"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
}
}
}
}
Save this configuration as claude_desktop_config.json
and configure Claude Desktop to use it.
The GitHub MCP server supports switching between multiple GitHub accounts. You can set up multiple account profiles by configuring environment variables:
"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
}
To use a specific account profile in your requests, add the account_profile
parameter to any GitHub API call:
{
"owner": "username",
"repo": "repo-name",
"path": "path/to/file.txt",
"account_profile": "work" // Will use the GITHUB_TOKEN_WORK environment variable
}
If no account_profile
is specified, the default GITHUB_PERSONAL_ACCESS_TOKEN
will be used.
The Fetch MCP server provides customization options through environment variables:
"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
: Allows you to define a specific User-Agent string for HTTP requests, which can be useful when certain websites restrict access based on the client identification.IGNORE_ROBOTS_TXT
: By default (false), the fetch server respects robots.txt rules that websites set to control web crawlers. Setting this to "true" disables this restriction, but should be used responsibly.Each MCP server is implemented as a standalone TypeScript file in the src
directory:
src/brave-search.ts
: Brave Search API integrationsrc/filesystem.ts
: File system operationssrc/git.ts
: Git operationssrc/github.ts
: GitHub API integration for repository management, issues, PRs, etc.src/shell.ts
: Shell command executionsrc/puppeteer.ts
: Browser automation and web interactionsrc/fetch.ts
: URL content retrieval and HTML-to-Markdown conversionThe GitHub MCP server has a modular structure:
- src/github/common/
: Common utilities, interfaces, and types
- src/github/operations/
: Implementation of various GitHub API operations
- src/github/tools/
: Tool definitions for the MCP server
To add new functionality:
src
directory@modelcontextprotocol/sdk