任意のMCPサーバーにつなぐ。あるいは自分で書く。
MeghaはModel Context Protocolを話すので、すでに運用しているシステムがそのままエージェント層に差し込めます。よく使われるものは検証済みコネクタのディレクトリが押さえており、自分で書いたものもまったく同じように動きます。
MCPサーバーは実際どこにいるのか。
ローカルのコネクタは、あなたのマシン上の子プロセスです。リモートのそれは、ネットワークの向こう側にあるサービスです。この違いが、あなたの送ったものを他に誰が見られるかを決めます。
ローカルのサーバーはマシンにとどまります。リモートはとどまりません。
どちらも役に立ちます。大事なのは、いま自分がどちらをつないでいるかを分かっていることです。
- あなたのマシン上の子プロセスとして動き、セッションとともに起動し終了する
- アカウントもネットワークの経由もなく、認証すべき相手もいない
- 必要な資格情報(データベースのDSN、パスなど)はあなた自身の設定にとどまる
- データベース、ファイル、社内のコマンドラインツールには、これが順当な選択
- ネットワーク越しにサービスへ届くので、その運営者はあなたが送ったものを見る
- 必要とするサーバーについては、OAuthでのサインインをアプリ内で処理する
- すでに使っていて、同じデータをすでに預けているSaaSに最適
- 追加したのと同じディレクトリから、いつでも切断できる
接続は、あなたが読めるファイルの中にあります。
結んだ接続はすべて、プレーンな設定ファイルに書かれます。名前、トランスポート、どこへ届くか、そして有効かどうか。読むことも、バージョン管理に置くことも、別のマシンへコピーすることもできます。
- ファイルひとつ。バージョン管理でき、多数の端末へ展開できる
- ローカルのサーバーもリモートのサーバーも、同じ書き方で記述される
- サーバーごとに、独立して有効化・無効化できる
- 同じファイルがMacアプリでも、デスクトップでも、完全なOSでも通用する
{
"servers": [
{
"name": "github",
"transport": "http",
"command": "https://api.githubcopilot.com/mcp",
"auth": "oauth",
"enabled": true
},
{
"name": "postgres",
"transport": "stdio",
"command": "mcp-server-postgres",
"args": ["--dsn", "postgresql://localhost/analytics"],
"enabled": true
}
]
}実際のところ、何に同意しているのか。
MCPサーバーとは、あなたのデータに手を伸ばす第三者のコードです。接続が何を許すのかを正確に述べるほうが、安心させる言葉よりも役に立ちます。
サーバーをつなぐこと自体が承認です
ディレクトリから選ぶにせよ、自分で書いたものを指定するにせよ、あなたは意図してサーバーを追加し、リモートならサインインします。それ以降、その道具は呼び出しごとの確認カードなしに会話の中で動きます。使いものになるのは、まさにそのためです。
それはサーバーを信頼したということで、そのように扱うべきです
つながったサーバーは、エージェントが送る引数を見られます。そしてその道具の説明文は、モデルが読むものの一部になります。依存関係を追加するのと同じ心構えでつないでください。信頼する理由のある出どころから、ということです。
接続はそれぞれ独立しています
サーバーは一つずつ有効・無効を切り替えます。ひとつを切っても他の接続は乱れず、そのサーバーがしていたことは切り替えを越えて残りません。
何ひとつ私たちに縛られません
プロトコルは開かれており、設定は読めて、差分が取れて、マシン間でコピーできるただのファイルです。MeghaOS向けに書かれたサーバーも、ただのMCPサーバーにすぎません。
与えた権限のすべてを、ひと画面に、求めればいつでも。
「これは何に手が届くのか」への正直な答えは一覧であり、システムは求められればいつでもそれを組み立てます。ここではデスクトップ自身のレンダラーが描いています。サーバーは架空のものです。
今このエージェントは実際どこまで届く?
サーバー3つと、それぞれが開くもの
このエージェントが持つツールすべて
| ツール | 届く範囲 | あなたが要る |
|---|---|---|
| read_file | このフォルダ | いいえ |
| write_file | このフォルダ | いいえ |
| search_issues | トラッカー | いいえ |
| post_comment | トラッカー | はい |
| list_events | カレンダー | いいえ |
上限
どちらかの上限に達した時点で、黙って進み続けるのではなく実行が止まる。
ディレクトリにあるもの。
課題管理とドキュメント
GitHub、Notion、Linear、Atlassian、Asana。公式コネクタで、OAuthサインインに対応。
業務システム
Stripe、Sentry、Canvaなど。検証済みで、すぐ接続できます。
データベースと社内ツール
Postgres、SQLite、あるいはチームが公開しているものを、ローカルサーバーとして。
自分のサーバー
あなたが書いたものなら何でも。プロトコルは開かれており、MeghaOSは誰が書いたかを気にしません。
サーバーをつなぐ、はじめから終わりまで。
ほとんどは一覧から選ぶだけです。自分で書く場合に要るのは、名前とエンドポイントだけ。
- ステップ 1
サーバーのディレクトリを開く
MeghaOSには、実際に使われているサービス向けの検証済みコネクタのディレクトリが同梱されています。GitHub、Notion、Linear、Atlassian、Stripe、Sentry、Asanaなど。エンドポイントを探し回るのではなく、アプリの中から眺めてください。
- ステップ 2
コネクタを選ぶか、自分のものを指定する
ディレクトリから選ぶか、自分で書いたサーバーに名前を付け、ローカルで実行するコマンドか、届く先のURLのどちらかを与えて追加します。
- ステップ 3
サーバーが求めるならサインインする
アカウントを必要とするリモートのコネクタはOAuthを使い、アプリ内で処理されます。ローカルのサーバーはたいてい何も要らないか、そのサーバー自身の設定に置く資格情報だけで済みます。
- ステップ 4
会話の中で使う
これでコネクタはエージェントが届く範囲の一部になり、その道具は作業中のチャットの中で動きます。つないだことが承認だったので、呼び出しのたびに立ち止まって尋ねることはありません。
- ステップ 5
用が済んだら切る
サーバーにはそれぞれスイッチがあります。ひとつを無効にしても、ほかの接続はそのままの状態で残ります。
プロトコルそのもの(トランスポート、プリミティブ、サーバーの書き方、そして接続が実際に何を許すのか)については、こちらをご覧ください。 Model Context Protocol 完全ガイド.
MCPについてここでよく聞かれること。
どのMCPサーバーがMeghaOSで動きますか。
Model Context Protocolを実装したサーバーであれば、stdioでもストリーム可能なHTTPでも動きます。MeghaOSには一般的なサービス向けの検証済みコネクタのディレクトリが同梱されていますが、それ以外について登録の手続きはありません。プロトコルは開かれており、クライアントは誰がサーバーを書いたかを気にしません。
ローカルのMCPサーバーとリモートのMCPサーバーは何が違いますか。
ローカルのサーバーはあなた自身のマシン上で子プロセスとして動くので、その動作にネットワークは一切関わらず、アカウントも要りません。リモートのサーバーにはHTTPで届くため、その運営者はエージェントが送る引数を見ます。同じデータをすでに預けているSaaSなら妥当ですが、それ以外については現実的な検討事項になります。
サーバーをつなぐとき、私は何を信頼しているのですか。
つながったサーバーは、その道具に送られる引数を見ます。そしてサーバーが掲げる説明文は、モデルが何をするか決めるときに読むものの一部になります。依存関係を追加するときと同じように扱ってください。信頼できる出どころから入れ、要らなくなったら外す、ということです。
MCPを使うのにアカウントやAPIキーは要りますか。
MeghaOS自体には要りません。MCP対応はエージェントの実行基盤の一部で、費用はかかりません。個々のサーバーは、データベースの接続文字列やOAuthサインインなど、それ自身の資格情報を必要とすることがありますが、それらは私たちではなくそのサーバーに属するものです。
サーバーを切断するにはどうしますか。
追加したのと同じ場所で切ってください。接続はそれぞれ独立しているので、ひとつを無効にしても他には影響しません。
同じ設定はどのエディションでも使えますか。
はい。接続はプレーンな設定ファイルに保存され、それはMacアプリでも、Linuxのデスクトップ環境でも、完全なオペレーティングシステムでも同じです。読めて、差分が取れて、マシン間で持ち運べます。