Nash MCP Server

local-only server

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

Integrations

  • Nash MCP uses .env files to specify data file paths for configuration

  • Nash MCP provides command execution capabilities that can run git commands with proper error handling and output capture

  • Nash MCP enables execution of Python code snippets with full access to installed packages and provides information about available Python packages

ナッシュMCPサーバー

Nash MCP (Model Context Protocol (MCP) サーバー) は、コマンド、Python コード、Web コンテンツの取得、再利用可能なタスク管理をシームレスに実行できます。

要件

  • Python 3.11以上
  • 詩のパッケージマネージャー(推奨)

インストール

git clone https://github.com/nash-run/nash-mcp.git cd nash-mcp poetry install

特徴

  • コマンド実行: エラー処理を伴うシェルコマンドの実行
  • Python実行: エラー処理付きでPythonコードを実行する
  • 安全な認証情報: LLM に機密データを公開せずに API キーを保存およびアクセスします
  • Webコンテンツアクセス: 分析のためにWebページのコンテンツを取得して解析する
  • タスクリポジトリ: 再利用可能なワークフローとスクリプトを保存して整理します

ツール

モジュールの実行

  • execute_command : 適切なエラー処理と出力キャプチャを使用してシェルコマンドを実行します。
  • list_session_files : 現在のセッション内のすべての Python ファイルを一覧表示します (新しいファイルを作成する前に必ずこれを最初に使用してください)
  • get_file_content : 既存のコードを確認および編集するためにファイルの内容を取得します。
  • edit_python_file : 正確な文字列パターンマッチングを使用して、既存の Python ファイルにターゲットを絞った編集を行う (推奨方法)
  • execute_python : インストールされたパッケージへのフルアクセスで Python コード スニペットを実行します (新しいファイルに対してのみ使用)
  • list_installed_packages : 利用可能な Python パッケージに関する情報を取得する

ウェブインタラクション

  • fetch_webpage : ウェブページのコンテンツを取得して読み取り可能なテキスト形式に変換する

秘密管理

  • nash_secrets : 保存されたAPIキーと認証情報に安全にアクセスします。スクリプト内の環境変数を介してアクセスできます。

タスク管理

  • save_nash_task : 埋め込みスクリプトで再利用可能なタスクを作成する
  • list_nash_tasks : 保存済みの利用可能なタスクをすべて表示する
  • run_nash_task : 以前に保存したタスクを取得して表示する
  • execute_task_script : 保存されたタスクから特定のスクリプトを実行する
  • view_task_details : スクリプトコードを含むタスクの完全な詳細を表示します
  • delete_nash_task : 不要になったタスクを削除する

ランニング

これはMCP設定ファイルに使用するコマンドです

/path/to/this/repo/.venv/bin/mcp run /path/to/this/repo/src/nash_mcp/server.py

たとえば、この MCP を Claude Desktop で使用する場合は、 ~/Library/Application Support/Claude/claude_desktop_config.json次のように変更します。

{ "mcpServers": { "Nash": { "command": "/Users/john-nash/code/nash-mcp/.venv/bin/mcp", "args": ["run", "/Users/john-nash/code/nash-mcp/src/nash_mcp/server.py"] } } }

環境変数

Nash MCPでは、すべてのデータファイルパスを指定するために環境変数が必要です。ルートディレクトリに以下の変数を含む.envファイルを作成してください。

# Required environment variables NASH_SECRETS_PATH=/path/to/secrets.json NASH_TASKS_PATH=/path/to/tasks.json NASH_LOGS_PATH=/path/to/logs/directory NASH_SESSIONS_PATH=/path/to/sessions/directory

デフォルト値はありません。すべてのパスを明示的に構成する必要があります。

セッション管理

Nash MCPサーバーは、各サーバーインスタンスごとに固有のセッションディレクトリを作成します。このセッションディレクトリには、以下のデータが保存されます。

  • セッション中に実行された Python スクリプト
  • 編集したスクリプトのバックアップファイル
  • エラーログと例外情報

この永続ストレージにより、強力なワークフローが可能になります。

  1. スクリプトは簡単に参照できるようにわかりやすい名前で保存されます
  2. 以前のスクリプトは書き換えるのではなく、表示して修正することができます
  3. エラーはデバッグ用にコンパニオンファイルに記録されます

必須ワークフロー

⚠️ 必須のコーディング前チェックリスト - コードを書く前に完了してください: ⚠️

1. Check available packages: list_installed_packages() - Know what libraries you can use - Avoid importing unavailable packages 2. Check available secrets: nash_secrets() - See what API keys and credentials are available - Don't write code requiring credentials you don't have 3. Check existing files: list_session_files() - See what code already exists - Avoid duplicating existing functionality 4. Review relevant file contents: get_file_content("filename.py") - Understand existing implementations - Decide whether to edit or create new

ファイル編集のベストプラクティス

Nash MCP を使用する場合は、効率性とコンテキストの保存のバランスをとってください。

  1. list_session_files()を使用して新しいファイルを作成する前に、必ず既存のファイルをチェックしてください。
  2. 軽微な変更から中程度の変更については、 edit_python_file()を使用して編集を優先します。
  3. 次の場合には、新しいファイルの作成を検討してください
    • 複雑な編集を説明するよりもトークン効率が良い
    • ほぼファイル全体を置き換える必要がある
    • このタスクには全く新しい機能が含まれる
    • 新しいファイルを作成すると、よりクリーンで小さなレスポンスが得られます

黄金律は、コンテキストとコード履歴を維持しながらトークンの使用を最小限に抑えることです。

このアプローチはスクリプトの履歴とコンテキストを維持し、増分開発の効率を高めます。編集ワークフローは次のパターンに従います。

  1. まず、利用可能なリソースを確認します → list_installed_packages()nash_secrets()
  2. 既存のファイルをすべて一覧表示する → list_session_files()
  3. 関連ファイルの内容を確認する → get_file_content("file_name.py")
  4. 既存のファイルに変更を加える → edit_python_file("file_name.py", old_content, new_content)
  5. 変更したファイルを実行する → execute_python("", "file_name.py") (変更せずに実行するには空のコード文字列)
  6. 類似のファイルが存在しない場合のみ新しいファイルを作成します → execute_python(new_code, "new_file.py")

避けるべきよくある間違い

  1. 小さな編集のほうがトークン効率が良い場合は、新しいファイルを作成する
  2. 新しいファイルを作成するときに複雑な編集を行うと、トークン効率が上がります。
  3. インストールされていないパッケージを使用しようとしている
  4. 持っていないAPIキーを必要とするコードを書く
  5. 既存の機能の書き換え
  6. トークンの効率性を考慮していない

トークン効率ガイドライン

新しいファイルを編集するか作成するかを決定するときは、使用するトークンが少なくなる方法を検討してください。

  • 編集する場合: 変更が小規模から中規模で、特定のセクションに限定されており、説明が簡単である場合
  • 新規作成が必要な場合: 変更によってファイルの大部分が置き換えられる場合、編集内容の説明が複雑になる場合、またはまったく新しいアプローチが必要な場合

明確さとコンテキストを維持しながら、タスクを達成する最小かつ最も効率的な出力を作成することを常に目指します。

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

  • コマンドとスクリプトはMCPサーバーと同じ権限で実行されます
  • APIキーと認証情報はローカルに保存され、環境変数として読み込まれます
  • スクリプトを実行する前に必ず確認してください。特に機密データを扱う場合は注意が必要です。

発達

ログ

すべての操作とツール実行の詳細なタイムスタンプ付きログがサーバーから出力されます。これらのログは、 NASH_LOGS_PATH環境変数で指定されたディレクトリに保存されます。

テスト

poetry run pytest

カバー付き

poetry run pytest --cov=nash_mcp

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

安全な資格情報処理によるコマンド、Python コード、Web コンテンツの取得、再利用可能なタスク管理のシームレスな実行を可能にするモデル コンテキスト プロトコル サーバー。

  1. Requirements
    1. Installation
      1. Features
        1. Tools
          1. Execute Module
          2. Web Interaction
          3. Secrets Management
          4. Task Management
        2. Running
          1. Environment Variables
          2. Session Management
          3. Mandatory Workflow
          4. File Editing Best Practices
          5. Common Mistakes to Avoid
          6. Token Efficiency Guidelines
        3. Security Considerations
          1. Development
            1. Logs
            2. Testing
          2. License
            ID: 6p8z2xek5c