Skip to main content
Glama
ukkz

Claude TypeScript MCP Servers

by ukkz

クロード TypeScript MCP サーバー

LLMを開発支援に利用するソフトウェア開発者向けのモデルコンテキストプロトコル(MCP)サーバーのコレクションです。多くの開発者はVSCodeとの直接統合が可能なためClineを好みますが、従量課金制のAPIを使用しているため、使用量が多すぎるとコストがかさみます。このプロジェクトでは、定額制のClaude Proサブスクリプションを活用し、Claude DesktopアプリケーションをカスタムMCPサーバーに接続することで、変動費なしで同等の開発支援機能を提供します。

日本語による解説記事: Cline委託でコードを書いてたらAPIクレジットが爆散したのでClaude Desktop + MCPをいい感じにしてサブスクだけで無双する

概要

このプロジェクトでは、Claude Desktop で使用してソフトウェア開発機能を強化できるいくつかの MCP サーバーを実装します。

  • Brave Search : Brave Search APIを使用してウェブ検索とローカル検索機能を提供します

  • ファイルシステム: セキュリティ制限付きでファイルシステム操作を可能にする

  • Git : リポジトリを管理するためのGit機能を提供します

  • GitHub : GitHub リポジトリ、問題、プルリクエストなどとのやり取りを可能にします

  • シェル: 制御された環境でシェルコマンドを実行できます

  • Puppeteer : Puppeteerを通じてブラウザの自動化とWebインタラクションを可能にします

  • Fetch : URL からコンテンツを取得し、HTML を Markdown に変換して読みやすさを向上させます

Related MCP server: MCP Tools

要件

インストール

  1. リポジトリをクローンします。

    git clone https://github.com/yourusername/claude-ts-mcps.git
    cd claude-ts-mcps
  2. 依存関係をインストールします:

    bun install

構成

Claude DesktopでこれらのMCPサーバーを使用するには、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 Desktop がそれを使用するように構成します。

複数の 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 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 文字列を定義できます。これは、特定の Web サイトがクライアント ID に基づいてアクセスを制限する場合に役立ちます。

  • IGNORE_ROBOTS_TXT : デフォルト(false)では、フェッチサーバーはウェブサイトがウェブクローラーを制御するために設定したrobots.txtルールを尊重します。これを「true」に設定するとこの制限は無効になりますが、責任を持って使用してください。

使用法

  1. Claudeデスクトップを起動

  2. 設定ファイルをロードする

  3. クロードはこれらのMCPサーバーが提供する追加ツールにアクセスできるようになります。

発達

各 MCP サーバーは、 srcディレクトリ内のスタンドアロン TypeScript ファイルとして実装されます。

  • src/brave-search.ts : Brave Search API 統合

  • src/filesystem.ts : ファイルシステム操作

  • src/git.ts : Git操作

  • src/github.ts : リポジトリ管理、問題、PR などのための GitHub API 統合。

  • src/shell.ts : シェルコマンドの実行

  • src/puppeteer.ts : ブラウザの自動化とウェブインタラクション

  • src/fetch.ts : URL コンテンツの取得と HTML から Markdown への変換

GitHub MCP サーバーはモジュール構造になっています。

  • src/github/common/ : 共通ユーティリティ、インターフェース、型

  • src/github/operations/ : さまざまな GitHub API 操作の実装

  • src/github/tools/ : MCPサーバーのツール定義

新しい機能を追加するには:

  1. srcディレクトリに新しいTypeScriptファイルを作成する

  2. @modelcontextprotocol/sdkを使用して MCP サーバーを実装します。

  3. Claude Desktop構成に新しいサーバーを追加します

セキュリティに関する考慮事項

  • ファイルシステムとシェルサーバーには不正アクセスを防ぐためのセキュリティ対策が組み込まれている

  • コマンドを実行する前に必ずユーザー入力を検証する

  • ファイルシステムへのアクセスを許可するディレクトリを設定するときは注意が必要です

  • シェルサーバーのコマンド許可リストを使用して実行可能なコマンドを制限する

  • フェッチサーバーは、制限されたサイトのスクレイピングを防ぐために、デフォルトでrobots.txtディレクティブを尊重します。

  • GitHub 個人アクセス トークンを安全に保存し、適切なトークン権限を使用します。

参考文献

ライセンス

MITライセンス

Available Tools

2 tools

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedbrave_local_search
    • First observedbrave_web_search

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: brave_local_search is focused on location-based queries for businesses, services, and attractions, while brave_web_search handles general web searches for current events, news, and broader information. There is no overlap in their intended use cases, making it easy for an agent to choose the correct tool based on the query type.

Naming Consistency5/5

Both tools follow a consistent naming pattern with the prefix 'brave_' followed by a descriptive term ('local_search' and 'web_search'), using snake_case throughout. This uniformity makes the tool set predictable and easy to understand, with no deviations in style or structure.

Tool Count3/5

With only two tools, the server feels thin for a general-purpose search functionality, as it might lack coverage for specific domains or advanced search capabilities. While the tools are well-defined, a broader scope could benefit from additional tools to handle more nuanced search types or integrations, making the count borderline for the apparent purpose.

Completeness4/5

The tool set covers the core search needs with local and web search, providing a good foundation for real-time information retrieval. However, there are minor gaps, such as the absence of tools for specialized searches (e.g., image, video, or academic searches) or advanced filtering options, which agents might need to work around for more complex queries.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.

  • The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A custom Model Context Protocol server that gives Claude Desktop and other LLMs access to file system operations and command execution capabilities through standardized tool interfaces.
    23
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude Desktop to perform file operations like reading, writing, listing directories, and managing files through natural language commands.
    MIT