MCP Tools

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Referenced as a related project through langchain-mcp-adapters, enabling the use of MCP tools with LangChain.

  • Referenced indirectly through MCP-Bridge which maps MCP tools to OpenAI's format, suggesting compatibility with OpenAI models.

  • Allows execution of Python scripts through the shell command tool, enabling AI agents to run Python code and analyze data.

MCPツール

Claude Desktop およびその他の LLM クライアントにファイル システムとコマンド実行ツールを提供するカスタム モデル コンテキスト プロトコル (MCP) サーバー実装。

モデルコンテキストプロトコルとは何ですか?

モデルコンテキストプロトコル(MCP)は、アプリケーションが大規模言語モデル(LLM)にコンテキストを提供する方法を標準化するオープンプロトコルです。USB-Cポートがデバイスを様々な周辺機器に接続するための標準化された方法を提供するのと同様に、MCPはAIモデルを様々なデータソースやツールに接続するための標準化された方法を提供します。

このプロジェクトは、Claudeや他のLLMがローカルファイルシステムとやり取りし、コマンドを実行できるようにする便利なツールを備えたFastMCPサーバーを実装します。明確に定義されたツールインターフェースを通じて、制御された方法でローカルシステムにアクセスすることで、LLMの機能を拡張します。

MCPの主な利点

  • 標準化された統合: MCPは、LLMが直接接続できる、構築済みの統合のリストを提供します。
  • ベンダーの柔軟性: LLM プロバイダーとベンダー (Claude、GPT-4o、Gemini など) を簡単に切り替えることができます。
  • セキュリティ: インフラストラクチャ内でデータを保護するためのベストプラクティス
  • ツールの公開: 既存のツールをカプセル化し、MCP 互換の LLM クライアントからアクセスできるようにします。

特徴

MCP サーバーは、次のファイル システムとコマンド実行ツールを提供します。

  • execute_shell_command : シェルコマンドを実行し、stdout/stderr の結果を取得します。
  • show_file : オプションの行範囲指定でファイルの内容を表示します
  • search_in_file : 正規表現を使用してファイル内のパターンを検索する
  • edit_file : 文字列の置換と行操作でファイルに正確な変更を加える
  • write_file : ファイルにコンテンツを書き込むか追加する

MCPアーキテクチャ

MCP はクライアント サーバー アーキテクチャに従います。

  • ホスト: 接続を開始する LLM アプリケーション (Claude Desktop や IDE など)
  • クライアント: ホストアプリケーション内でサーバーとの1:1接続を維持します
  • サーバー: クライアントにコンテキスト、ツール、プロンプトを提供します (このプロジェクトではサーバーを実装します)

前提条件

  • Python 3.10以上
  • MCP 互換クライアント (Claude Desktop、または MCP をサポートするその他のクライアント)

インストール

  1. uvをインストールする
  2. このリポジトリをクローンするか、ソースコードをダウンロードしてください
  3. uv run mcp install実行して MCP サーバーをインストールします。
  4. which uvを実行して、 uv実行ファイルへの絶対パスを取得します。
  5. Claude Desktop の MCP サーバー構成を更新して、 uv実行ファイルへの絶対パスを使用します。

私の MCP サーバーの構成は次のようになります。

{ "globalShortcut": "", "mcpServers": { "zbigniew-mcp": { "command": "/Users/zbigniewtomanek/.local/bin/uv", "args": [ "run", "--with", "mcp[cli]", "--with", "marker-pdf", "mcp", "run", "/Users/zbigniewtomanek/PycharmProjects/my-mcp-tools/server.py" ] } } }

使用法

Claudeデスクトップから接続

  1. クロードデスクトップを開く
  2. 識別子「zbigniew-mcp」を使用してMCPサーバーに接続します。

: この実装は Claude Desktop に重点を置いていますが、MCP は MCP 互換のツールや LLM クライアントと互換性があるように設計されており、実装と統合の柔軟性を提供します。

利用可能なツール

シェルコマンドの実行

引数リストを使用してシェル コマンドを安全に実行します。

execute_shell_command(["ls", "-la"]) execute_shell_command(["grep", "-r", "TODO", "./src"]) execute_shell_command(["python", "analysis.py", "--input", "data.csv"]) execute_shell_command(["uname", "-a"])

表示ファイル

オプションの行範囲指定を使用してファイルの内容を表示します。

show_file("/path/to/file.txt") show_file("/path/to/file.txt", num_lines=10) show_file("/path/to/file.txt", start_line=5, num_lines=10)

ファイル内検索

正規表現を使用してファイル内のパターンを検索します。

search_in_file("/path/to/script.py", r"def\s+\w+\s*\(") search_in_file("/path/to/code.py", r"#\s*TODO", case_sensitive=False)

編集ファイル

ファイルに正確な変更を加えます。

# Replace text edit_file("config.json", replacements={"\"debug\": false": "\"debug\": true"}) # Insert at line 5 edit_file("script.py", line_operations=[{"operation": "insert", "line": 5, "content": "# New comment"}]) # Delete lines 10-15 edit_file("file.txt", line_operations=[{"operation": "delete", "start_line": 10, "end_line": 15}]) # Replace line 20 edit_file("file.txt", line_operations=[{"operation": "replace", "line": 20, "content": "Updated content"}])

書き込みファイル

ファイルにコンテンツを書き込むか追加します。

# Overwrite file write_file("/path/to/file.txt", "New content") # Append to file write_file("/path/to/log.txt", "Log entry", mode="a")

フェッチページ

Web ページの内容を PDF に取得し (Chromium がインストールされている必要があります)、ローカル LLM を使用してそれをマークダウンに解析します。

fetch_page("https://example.com")

輸送メカニズム

MCP は、クライアントとサーバー間の通信に複数のトランスポート方式をサポートしています。

  • 標準入出力(stdio) :通信に標準入出力を使用します。ローカルプロセスに最適です。
  • サーバー送信イベント (SSE) : クライアントとサーバー間の通信に HTTP POST リクエストを使用したサーバーからクライアントへのストリーミングを可能にします。

この実装では、テキスト入出力を介して通信するローカル MCP サーバーを使用します。

独自のツールで拡張する

@mcp.toolデコレータを使って新しいツールを追加することで、この MCP サーバーを簡単に拡張できます。server.py のパターンに従って、LLM クライアントに追加機能を提供する新しいツールを作成してください。

関連プロジェクト

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

MCPサーバーは、Claudeにローカルシステムへのアクセスを提供します。以下の点にご注意ください。

  • サーバーはユーザーとしてシェルコマンドを実行します
  • システム上のファイルの読み取り、書き込み、変更が可能
  • セキュリティが懸念される場合は、特定のディレクトリへのアクセスを制限することを検討してください
-
security - not tested
A
license - permissive license
-
quality - not tested

標準化されたツール インターフェイスを通じて、Claude Desktop やその他の LLM にファイル システム操作およびコマンド実行機能へのアクセスを提供するカスタム モデル コンテキスト プロトコル サーバー。

  1. What is the Model Context Protocol?
    1. Key Benefits of MCP
      1. Features
        1. MCP Architecture
          1. Prerequisites
            1. Installation
              1. Usage
                1. Connecting from Claude Desktop
              2. Available Tools
                1. execute_shell_command
                2. show_file
                3. search_in_file
                4. edit_file
                5. write_file
                6. fetch_page
              3. Transport Mechanisms
                1. Extending with Your Own Tools
                  1. Related Projects
                    1. Security Considerations
                      ID: fx1oclw99q