この動画は、MCPことModel Context Protocolについて詳しく解説するライブコーディングセッションである。HoopoがタトゥーロボットプロジェクトTatbotにMCPを統合する過程を実演しながら、異なるAIモデル(Gemini、GPT-o3 Pro、Grok)の性能比較、MCPサーバーの構築、複数ノード管理の実装を行っている。技術的な問題解決の過程も含め、実践的なMCP開発のワークフローを学べる貴重な内容となっている。

はじめに – ライブ配信の準備
テスト、テスト。音楽が少し大きすぎるようですね。もう少し音楽を下げてください。また音楽を下げてください。今度はほとんど聞こえないくらい低くなってしまいました。もう少し大きくしてください。そこでちょうど良いと思います。
よし、X(旧Twitter)でライブ配信中です。YouTubeでもライブ配信中です。Xを早速テストしてみましょう。調子はどうですか、little KM?Xのストリーミングサーバーはやや粗悪で、遅いんです。でもXは動いています。問題ありません。Xは動いています。YouTubeも動いています。音楽も流れています。音量も良好です。準備完了だと思います。
ガムを吐き出して、水を一口飲んで、ヘッドホンを装着して、始めましょう。おはようございます、Ed。
ライブストリーミング開始
さあ、別のHoopoストリームへようこそ。今日も素敵でリラックスした雰囲気のコーディングストリームを行います。今日のストリームはMCP、つまりModel Context Protocolについてです。これはプロトコルです。つまり通信を意味します。たくさんのコンピューターが通信している素敵なジブリ風の画像を用意しました。
これらはいつでもHoopo docsで見つけることができます。これには様々なリンク、このストリームの準備で作ったいくつかのYouTube動画も含まれています。今日の音楽はUDIOによるLo-fi Houseです。まず最初に、現在利用可能な最も強力な基盤モデルにModel Context Protocolを3文で説明してもらいたいと思います。
ここに3つのモデルがあります。Grok 3のthinking modeです。Model Context Protocolは、機械学習モデルがコンテキスト情報を管理し解釈する方法を標準化するために設計されたフレームワークで、特定の環境で効果的に動作することを保証します。開発者がデータの特性、環境要因、ユーザーの好みなどのコンテキストを定義、共有、活用できるようにし、モデルの精度、適応性、意思決定能力を向上させます。MCPを実装することで、モデルは多様なアプリケーションでより効果的になり、開発者間のコラボレーションが改善されます。
うーん、これが実際に良いかどうかわかりません。ここにはかなり冗長な部分があります。これは実際にはMCPが何であるかを定義していないと思います。Geminiが何と言うか見てみましょう。調子はどうですか、Prateique?私は元気です。あなたはどうですか?
MCPは、AIモデルが外部データソースやツールに接続し、それらを活用する方法を標準化するオープン標準です。これはもっと正確です。その主な機能は、各新しいデータソースやアプリケーションにカスタム統合を必要とせず、ユニバーサルなモデル非依存のインターフェースを作成することです。これも非常に良い文です。このアプローチは開発を簡素化し、機能を向上させ、AIと様々なソフトウェア環境間のよりシームレスで強力な相互作用を可能にします。
これははるかに良いと思います。これが3文だったかはわかりませんが、文1、文2、少なくとも3文ではありました。しかし、これらは正確ではなく、やや冗長だったと思います。こちらの方がはるかに具体的で、3文だと思います。今のところGeminiがGrokに勝っています。
GPT-o3 Proを試してみましょう。これは世界で最も強力なものとされているので、見てみましょう。最後の点で止まってしまうことがよくあります。基本的にリフレッシュする必要があります。ハードリフレッシュしてみましょう。
Model Context Protocolは、大規模言語モデルが会話を解釈するために使用するルールセットで、システム指示、開発者メッセージ、ユーザーメッセージという固定された階層システムで指示をスタックします。その優先順位を強制することで、プロトコルはモデルが矛盾する検出を決定論的に解決し、その動作を包括的なポリシーと整合させることができます。実際には、各応答は最初に最高レベルを参照することで生成されます。
これは完全に間違っています。これは完全にでっち上げのナンセンスな答えで、何らかの階層的な何かを説明しています。これが何を説明しているのかわかりません。3文ですか?文1、文2、文3。少なくとも3文ですが、これは完全にナンセンスです。印象的です。
つまり、Gemini 2.5 Proはそれが何であるかを知っており、うまく説明します。Grokはそれが何であるかを実際には知りませんが、少なくとも十分に汎用的な答えを提供し、適用できそうです。そしてo3 Proは完全にゴミを提供します。
これが私に教えてくれるのは、o3 Proには非常に最新のデータが含まれていないということです。MCPについて一つ言えるのは、せいぜい1年か2年前のものだということです。o3 Proが実際にはトレーニングデータでMCPを見ていない可能性があります。
MCPの正式な説明
Gemini Proサブスクリプションを提案しますか?冗談はさておき、アジェンダを示してもらえますか。コーヒーを取りに行きます。o4を試してみますか?o4 miniかo4のことでしょうね。o4は知っているはずです。o4はより最新なので。
いいえ、それも知りません。メモリ、スレッド履歴、ファイル参照。それも全然違います。非常に奇妙です。
これが実際の公式Model Context Protocolです。GitHubの組織があり、様々なプログラミング言語用のModel Context Protocolがあることがわかります。TypeScript、Pythonがあります。私たちは明らかにPythonを使用します。私の好きなプログラミング言語だからです。
このpyプロジェクトに行くと、メンテナーが見えて、これらのanthropicメールアドレスが見えます。基本的にこれはAnthropicの製品です。Geminiがここで説明したように、外部統合の必要性を排除し、外部データソースとツールに接続して活用することを可能にするという点で有用です。
実際に質問に答えたことがありませんでした、Prateique。Geminiサブスクリプションを推奨するかどうかについて、正直に言うと、Google Gemini 2.5 Proはコストパフォーマンスという点で実際に最高だと思います。アメリカの表現で、お金に対して良い価値を得るという意味です。非常に長いコンテキストを与えることができ、比較的素早く答え、スロットリングがないと思います。OpenAIモデルでは時々、実際にはスマートなモデルを取得していないと思います。モデルのカスケードがあるようです。o4に質問するとき、実際にはスマートなモデルに質問しているのではなく、より愚かなモデルが質問をより賢いモデルにルーティングする可能性があります。
わからないのですが、多分Geminiを推奨するでしょう。でも、この状況の後でそう言うのは難しくありません。
Tatbotプロジェクトへの統合
Model Context ProtocolをTatbotプロジェクトに統合します。Tatbotプロジェクトは、これらのストリームで取り組んできたタトゥーロボットです。Tatbotの一部として、実際には複数のコンピューターがあります。5つの異なるコンピューターがあると思います。oop、uke、trussai、oho、そして2つのRaspberry Piと呼んでいるコンピューターがあります。いくつかの小さな絵文字を選んでそれらを表現していますが、これらのコンピューターに関するより詳しい情報があります。
Jetson AGX Orin、小さなエッジGPUがあります。これを使ってロボットポリシーをホストします。VAS、再構築モデルのようなものです。truss AIは基本的にただの小さな箱のCPUで、これは2つのロボットアームに接続されています。最近、Nvidia RTX 4050を搭載した小さなラップトップを手に入れました。これは非常に小さく、6GBのVRAMしかないので、あまり大きなGPUではありませんが、これを使ってバッチIK、つまり逆運動学を行います。これは、エンドエフェクターの位置が与えられた時のロボットアームの関節位置を計算する方法です。これを軌道全体、タトゥーデザインパターン全体に対してバッチで行います。
例えば、このようなものです。Fluxを使って生成したと思う猫の画像から始めて、これらのパスを生成します。つまり、この画像をこれらのパスに分解し、そのパスをソートして、それぞれの位置に対して逆運動学を行うことができます。少し背景情報を提供しています。
しかし、これらすべてのコンピューターに常にSSHで接続して、それぞれと個別にやり取りするのは面倒です。そこで、MCPを使用してこれらすべてのコンピューターを1つのブロブ、1つのシステムかのように相互作用するというアイデアがありました。
MCPを使用して、これらすべての異なるサブコンポーネント、サブコンピューター、またはノードから抽象化し、Tatbotが持つすべての異なる機能を1つのLLMエージェントに公開します。このMCPサーバーを作成すると、基本的に「ロボットをこの場所に送信」と言うことができ、それが自動的にロボットコンピューターにルーティングされます。新しい画像を生成し、その逆運動学を行うと、それが適切なコンピューターにルーティングされます。MCPに慣れるための良い方法だと思います。
MCPサーバーの構築
ゼロから始めます。明らかにここに取り組むことができるアイデアがありますが、まったくのゼロから始めています。既に完成させておきたくありませんでした。始めて、ここから例をコピーペーストしましょう。
シンプルなMCPサーバーを作成して、計算機ツールといくつかのデータを公開することができます。これをコピーペーストしましょう。fast MCP demoと呼びましょう。tatbotと呼びましょう。これらを削除しましょう。
MCPには基本的に3つの異なる抽象化があることを理解しています。tool、resource、そしてpromptsと呼ばれるものもあります。抽象化にはあまり詳しくないので、ベストプラクティスはまだわかりません。それを発見していきます。
小さなサーバーがあり、次にこのMCP inspectorを使用します。MCP inspectorというツールがあり、このコンピューター上で実行されるMCPサーバーの上に座って、基本的に偽のコマンドを送信し、偽のものを要求することができます。それが適切にアクセスしているかどうかを確認できます。
この小さな偽のサーバーをMCP inspectorに認識させることができるかどうか試してみましょう。ここに指示があります。サーバーへのディレクトリパス。サーバーパスのようなものが必要でしょうか?うまくいくか見てみましょう。
これはブラウザを開きます。localhostであることがわかります。接続しましょう。接続エラー。MCPサーバーに接続して検査を開始してください。
実際には何にも接続していないと思います。これは実際に何かを実行したのでしょうか?これをそのまま実行するとどうなるでしょうか。uv runしてみましょう。即座に失敗します。実際には何もしません。
ここに戻りましょう。このサーバーをインストールできます。あるいは、MCP inspectorでテストできます。mcp dev。uv add、uv emit、uv runを試してみましょう。
ここで何かが起こっています。より興味深いものが出てきました。この音楽はとても気が散ります。ドラムンベースのブレイクビートのようです。少し音量を下げましょう。この音楽と一緒にバイブスしたいのですが、セッションを支配してほしくありません。
Prateique、ChatGPTにサブスクリプションしているとのことですが、ここで処方的になりたくはありません。Prateique、これらすべてを使用できると思います。これらは全て問題ありません。これらのモデルはすべて問題ありません。Deepseekも使用できます。フロンティアモデルについて人々はどちらが優れているかを話すのが好きですが、実際にはすべてかなり似ています。
MCPサーバーを実行しましょう。uv run mcp runを実行して、ファイルの名前を指定すると思います。mcpdev server.pyを試してみましょう。私たちのはrunmcpと呼ばれています。
接続エラー。何かがうまくいきません。ログを確認してください。これは特に良くありません。transport type stdioはローカル用で、これが何が起こっているかもしれません。設定URL localhost 3001。ポートを転送する必要があるかもしれません。これは実際に私たちがいるコンピューターではありません。実際にはこのコンピューターとは別のコンピューターにいるので、それが何が起こっているかもしれません。
このサーバーが実際に利用できない可能性があります。ポートも追加する必要があります。6277を使いましょう。6277。ユーザー転送したので、これも転送されました。
接続の問題解決
なぜこのMCP inspectorを使ってMCPサーバーに接続できないのか、デバッグを手伝ってもらえますか?「nihow nihow nulma」が言いました。Cursorが何を言いたいか見てみましょう。o3を使用していますが、絶対にautoが良いです。CursorのAutoモデルは実際にかなり良いと発見しました。彼らが明らかに他の人のモデルを統合するよりも、自分たちのモデルにより多くの時間を費やしているからだと思います。
この実際のfast MCPクラスに入ってみましょう。そこで理解できる追加の癖があるかもしれません。ここで、sourceのMCP、serverに行きます。メインのものをやりましょう。受信ループ。ここでfast MCPを検索してみましょう。
ここにクラスがあります。名前、指示、oサーバープロバイダーを与えることができます。これが実際に必要なものかもしれません。event store。oサーバープロバイダー。oサーバーがNoneの場合にのみ、oサーバープロバイダーが指定されている場合。mcp.runを実行する必要があります。
それで十分簡単です。トークンフルーツがプリフィルされたインスペクターを開きます。試してみましょう。まだ何もありません。
このセッションのリンクはGitHub docsにありませんか?いいえ、ここにあります。ここにあります。mcp Hoopo docs 2025-06-20 MCP。ここです。このYouTubeビデオもあります。Greg Brockmanとの最近の小さなポッドキャストです。今はみんなポッドキャストをやっているようで、ちょっと奇妙ですが、彼はStripeを設立した2人の兄弟の1人と小さなポッドキャストをやりました。Stripeは基本的に決済のような会社です。ある時点で彼は実際に「MCPは本当に人気が出ている。だからクールな子たちはみんなそれを使っている」と言いました。
実際に、これらのツールに使用される実際のプロトコルかもしれません。これらのモデルのように、Grok 3には何らかの検索ツールがあります。Geminiにも何らかのツールがあります。ブラウザでやり取りしているこれらすべてのモデルには、ある程度のツールがあります。どのツールを持っているかは明確ではありません。どのツールを持っているかは教えてくれません。ここでは何のツールかある程度わかりますが、これらのツールはおそらくMCPを使用していると思います。
だから、これを知っておくことは有用です。インターネットが離陸していた2000年代初頭にHTTPを学ぶようなものでしょう。HTTPがどのように動作するかを知っていれば、おそらく有用だったでしょう。MCPは同じようなものです。
接続が拒否されました。MCPサーバーは動いていますか?別のポートがここに追加されているのがわかります。localhost 3001。どちらがこれでしょうか?6227を試してみましょう。
何が起こっているのかわからないので、このインスペクターに戻りましょう。MCP、MCP runを試してみましょう。何かが起こっています。即座に失敗しません。これで動かなくなりました。
Cursorとの統合
なぜCursorに接続してみないのでしょうか?fast MCP。fast mcp uv run fast mcpがポート転送されているので、正しいはずです。
そこです!どのコマンドを使用したかを追跡しておきましょう。実際に動作したのはこのコマンドです。uv run mcpdev run mcp。これをここにコピーペーストしましょう。uv run mcpdev run mcp、そしてこのリンクをクリックします。
ついに手に入れました。それはおそらく良くなかったでしょう。このような摩擦は望ましくありません。理想的にはゼロの摩擦が欲しいです。
プロンプトがあります。ここにはプロンプトがないはずです。小さなMCPサーバーにあるのは、addとget greetingだけです。1つのリソースと1つのツールが見えるはずです。
list tools。エラー情報処理リクエスト。tool list response add。大丈夫です。初期化します。2つの数値を加算します。1 + 1。ツールを実行します。
リソース。list resources。情報処理リクエスト。clear list resources resources no resource。このリソーステンプレートを取得するはずでしたが、リストにはありませんでした。パーソナライズされた挨拶を入力します。リソースを読みます。サーバーをpingします。
これらが受け取っている返信で、何も得られません。これまでのところ、ここで必要なものをある程度取得できるようです。これを閉じて、今度は実際にCursorに持ち込んでみましょう。
Tatbot MCPを作成し、基本的にモデルがtatbotを使用できるようにするという全体的なポイントの一部は、ここでそれを使用できるようにしたいということです。Cursorのサイドウィンドウで、「ポリシーサーバーをホストして」と言えるようにしたい。それでエッジGPU上でDockerコンテナを起動するはずです。
方法は、ファイル、編集、設定はどこでしょうか?この方法で開きましょう。設定、Cursor設定、ツールとインテグレーション。カスタムMCPを追加します。ここにカスタムMCPツールを追加するか、プロジェクト固有のツールを設定します。カスタムMCPを追加します。
これは実行する実際のコマンドです。今、何をするのでしょうか?tatbot、ツールなし。有効、有効。編集。この方法でやるべきでしょうか?このディレクトリ内でuv run MCP run MCPを試してみましょう。
その赤い点が好きではありません。何が起こっているのでしょうか?なぜこれが動作しないのでしょうか?
Cursorは実際の製品やプロジェクトで本当に役立ちますか?これはAlexからの質問です。非常に有用だと思います。どのような種類のソフトウェアエンジニアリングをしているかによると思います。異なるタイプのソフトウェアエンジニアリングがあります。
すべてのソフトウェアは一定のスケールに存在します。基本的に小、中、大のようなものがあります。小さなソフトウェアプロジェクトでは、通常1人の開発者がいて、小さなコードベース、コードベースは頻繁に変更されます。中規模のソフトウェアプロジェクトでは、数人の開発者がいて、中規模のコードベース、コードベースはもう少し変更されません。大規模では、多くの開発者がいて、大きなコードベース、コードベースはほとんど変更されません。
Cursorが役立つのは、このような場合です。このtatbotプロジェクトでは、私が唯一の開発者で、コードベースは非常に小さいので、コードベース全体をコンテキストに入れることができ、変更できます。この場合、Cursorを推奨します。
しかし、大きなコードベースがある場合、実際にはClaud CodeやCodexのようなものを推奨します。大きなコードベースでは、多くの開発者がいて、すべての変更はPR(プルリクエスト)でなければなりません。小さなコードベースでは、変更はPRではありません。コードベースで唯一の開発者である場合、PRを作成するのは意味がありません。メインブランチに直接プッシュします。
小さなコードベースでは、シーケンシャルな編集があります。すべての編集が多くを変更するので、並行して編集することはできません。しかし、大きなコードベースでは、すべての編集がほとんど何も変更しないので、並行編集ができます。
この場合、30分間作業して戻ってきたときにPRがあるClaud CodeやCodexのようなものを持つことがより有用です。どのソフトウェア製品を使用するかは、あなたがここのどこにいるかに本当に依存します。小さなスタートアップで働いている場合、ソロ創設者の場合は、Cursorのようなものを推奨します。より大きな会社で、あまり変更されない大きなコードベースで働いている場合は、Claud CodeやJewelsのようなものを推奨します。
AIモデルの現状について
CEOがSamのポッドキャストについて話しています。ポッドキャストを行うことは基本的に、ビジョンや目標の代わりにYapと嘘を聞くことです。Edはここで、Sam Altmanのポッドキャストについて話していると思います。彼は最近、兄弟(年上か年下かわかりませんが)とポッドキャストをしました。基本的に彼はこのポッドキャストに座って、人々が本当に注目した一つのことがありました。
基本的に、Zuckerbergが従業員を盗むために100万ドルのオファーを使用しているとSam Altmanが非難したというようなことですが、それが真実かどうかはわかりません。Altmanがちょっと操作的であるような多くの前例があります。彼は非常に高レベルの社会的知性プレイヤーです。適切な方法で嘘をつく方法を知っています。純粋な嘘のような純粋な嘘はしないと思います。なぜなら純粋な嘘は反証するのが非常に簡単なので、低IQの動きのようなものだからです。
しかし、彼はこの種のほぼ嘘のようなことをします。必ずしも嘘をついているわけではありませんが、彼の言い方が少し不誠実です。だから、彼の口から出るすべてを必ずしも信頼しないでください。彼はちょっと真実ではありません。彼はマスクを着けている人で、そのマスクは彼があなたに信じてもらいたい人格のようなものです。Greg Brockmanははるかに真実だと思います。私たちがここで見せた他の人、この人、彼ははるかに直接的です。Sam Altmanは少しよりマキャベリ的です。
AnthropicもMCPについて最近ビデオをリリースしました。昨日MCPビデオをたくさん見ていたので、これを投稿したと思います。これは4日前にリリースされたビデオで、これはMCPチームの2人だと思います。これは公式のAnthropicです。これはMCPの担当者で、これはMCPの人々をインタビューするポッドキャストブラザーのようなものです。
Anthropicはちょっと厄介な状況にあったと思います。フロンティアモデルレースから滑り落ちているような感じがします。現実は、Meta、xAI、OpenAI、Googleが持っているようなお金を持っていないということです。誰がこれを行うお金を持っているかという点で、血の海になってきています。Anthropicは1億ドルの給与を人々に支払うことはできません。彼らはそのレベルにはいません。
だから、彼らは何かに焦点を当て、専門化する何かを見つける必要があり、MCPは彼らのコード専門化と完璧に適合します。このMCPで少し牽引力を得ているようなので、彼らはそれにもっと、もっと、もっと傾倒していくと思います。つまり、これは、これは、よく作られたソフトウェアです。
彼らがそれにプッシュしているのがわかります。先週、3日前、2ヶ月前、7ヶ月前に更新があります。だから彼らは間違いなく、これは非常にアクティブなコードベースです。この人がその人かもしれません。彼にちょっとフォローしてみましょう。それはちょっと興味深いです。彼は、この人がたった2年間しかコーディングしていないはずがありません。それは意味がありません。これは彼のAnthropicのGitHubアカウントかもしれません。彼はRust開発者なので、Rustコードがあり、Pythonコードもあります。
プロジェクトのスケールとツール選択
大きなプロジェクトを試したことがあり、GitHub Copilotを使用しようとしましたが、役に立たないようです。プロセスを向上させるのに役立つツールの種類を探しています。私はただCursorをたくさん使用します。気に入っていますが、私が行うことのほとんどすべてがこのようなものだからです。私が取り組むすべての異なるソフトウェアは本当に小さなプロジェクトのようなものです。通常、私だけが開発者である小さなプロジェクトなので、Cursorは私にとってうまく機能しますが、すべてをPRを通じて行わなければならない大企業で働く他の人々、コードベースがほとんど変更されない場合、他のツールの方が良いと思います。
Claud Codeも最近、MCPと並んで多くの注目を集めているようです。それは、私が高く評価している友人たちがいることです。分散システムのようなあなたの設定でプロトコルがどのように発展するかを見るのが楽しみです。
実際に私がこれを設計した方法は、必ずしもそうではありません。私がこれを行うことができた一つの方法は、これらの小さなコンピューターのそれぞれが独自のMCPサーバーを実行することです。基本的にこれらすべての小さなコンピューターにそれぞれ独自のMCPサーバーを実行させ、すべてのMCPサーバーを追加する必要があります。Tatbot Raspberry Pi、Tatbot Mircat、Tatbot AGX Orin、Tatbot Raspberry Pi 2のようになります。それぞれが独自のMCPサーバーを持つでしょう。
しかし、代わりに決めたのは、1つの中央ノードがあり、それがすべての他のノードと話すということです。5つの異なるMCPサーバーを公開する代わりに、1つの中央MCPサーバーを持ち、その中央MCPサーバーが他のすべてにコマンドを送信できるようにします。
つまり、これらすべての他のコンピューターは実際に実際のインターネットに接続する必要がありません。ローカルネットワークに接続するだけで済み、マスターMCPサーバーを持つ1つのコンピューターが外部と話す必要がある唯一のものです。これはゲートウェイパターンと呼ばれるもので、基本的に他のコンピューターに通じる1つのゲートウェイがあります。このデザインの方が少しクリーンだと感じましたが、そのデザインにも必ずしも確信があるわけではありません。
MCPが今後使用されるプロトコルになる可能性があると思いますか?確実だと思います。Greg Brockmanがそれについて話したという事実、Anthropicがそれに大きく傾倒しているという事実、それは意味があります。確実ではありませんが、ここのこれらのエージェントに公開されるツールの方法はおそらくMCPだと私はほぼ保証します。ウェブ検索、X検索のようなもの、これらはすべておそらくMCPを介しています。だから、次のレベルのモデルを取得し、これがすべて変更されるまで、それは残ると思います。HTTPを学ぶのと似ています。インターネットが離陸していた2000年代初頭で、HTTPがどのように動作するかを知っていれば、おそらく有用だったでしょう。MCPは同じようなものです。
MCPサーバーの実装
ここに戻りましょう。このを実行しようとしていて、実際にうまくいきませんでした。ここで何と言ったのでしょうか?ホームディレクトリに展開されないので問題がある可能性があります。フルパスが必要だと言っています。これをやってみましょう。ホームディレクトリです。
ここに行きましょう。拒否、無効、有効、停止。まだここでツールゼロが有効になっていません。編集。サーバーを実行する必要があるかもしれません。MCPサーバーを実行してみましょう。MCP run。MCP run MCPサーバー。実際にそれを実行するのでしょうか?いくつかのログを追加しましょう。
ログモジュールもここにあります。import、from log import setup loggingまたはsetup loggingではありません。これはget logger、get loggerと、setup loggingだと思います。ここのデザインパターンを見てみましょう。log.get logger。これにはあると思います。bam run mcp bam bam bam log equals get logger。これはMCP run MCPになります。
ここでログを設定しているだけです。実際に何かをしているかどうかを確認できるようにです。print config args。ここにconfigを追加する必要があります。from data classes import data class。これは標準的なPythonです。基本的にdata classが必要です。MCP config、これにより任意のオプションをここに置くことができます。
今、MCPはfast、これはグローバルスコープに置く必要があると思います。ここで一種のrun関数を作成しましょう。このconfigオブジェクトを消費するrun MCP、現在は基本的に何もしません。そして、log infoと言います。
ここで他の部分は、このような小さなコードベースを行うときは、好きなことができることです。このコードベースにあることの1つは、たくさんの絵文字があります。MCPの最高の絵文字を決める必要があります。emoji database.orgという私のお気に入りのウェブサイトに行きましょう。MCPをやってみましょう。実際に、これらのモデルにMCPを表現する最高の絵文字を聞いてみましょう。
ここで行った会話に戻りましょう。電気プラグ、私はそれが好きです。それは非常に良いです。MC Key、脳かもしれません。それは過度に利用されていると感じます。その1つは好きではありません。リンクも好きです。それは良い選択です。電気プラグ。電気プラグが最もクールだと思います。それをやりましょう。プラグをコピーしました。
ここに行きます。boom、MCPサーバーを開始します。それが何であるかまだわからないので、それを削除しましょう。run MCPです。
今、ここで行ったのは、いくつかのログを追加しただけです。このrunを押すと、run MCPが見えるはずです。mcp、mcp configです。mcp configにはmro属性がありません。何これ?
uv run mcp、config、mcp config。starting MCP server。今、それが開始されたことがわかります。inspectできるかどうか疑問です。mcp runで動作するかどうか見てみましょう。mcp runについて何かあります。あまり良くありません。devで動作するかどうか見てみましょう。インスペクターに行きましょう。
あるいは、dangerously omit O equals trueを設定してOを無効にします。Oを無効にしたいですか?
それはうまくいきました。このカーソルのものをデバッグするよりも、おそらくあまり興味深くありません。ここに置くことができる最もシンプルなもののいくつかを考えてみましょう。
ここにいくつかのアイデアがあります。ノードをping、ノードにファイルを送信。ここに1つあります。基本的にテストノード接続をチェックします。test nodesです。これを行って、test nodesをrunmcpのMCPツールとして追加します。Cursorがこれをどのように行うか見てみましょう。
ここで別のツールを追加するはずです。test nodesを呼び出します。これは私が持っている関数で、基本的にTatbotのすべての異なるコンピューターをpingし、すべてが応答しているかどうかを確認します。
この奇妙な日本の音楽について知りません。ファイナライズ中。なぜこんなに時間がかかっているのでしょうか?
最初にnetをここでインポートする必要があります。test nodesを変更するためにnetを更新します。それについてはわかりませんが、見てみましょう。何を決めたか見てみましょう。前に見ると、このbooleanを返していましたが、今はbooleanとリストのタプルを返しています。動作しないノードを返すと思います。それは大丈夫です。この関数が他の場所で使用されていますか?
それは実際に既存の動作を変更しません。ここで見ることができます。typing setupconfig、そしてtest nodesを追加しています。この setup net configは必要でしょうか?これがないと思います。このconfigからは何があるのでしょうか?ただこのtimeoutとnodesです。それは大丈夫です。すべてのノードが応答しています。
今、これに行くと、再起動、接続します。毎回これを再開する必要があるのは非常に迷惑です。tools list tools。ここです。ping nodes。それを実行しましょう。run tool。見てください。私たちの小さなノードがすべて応答しています。これらはすべて異なるコンピューターです。接続成功。すべてをpingしています。
小さなgit commitをしましょう。変更を同期します。すでに見たものです。そこで行ったのは、このtest nodesを変更したことですが、このrepoで唯一の開発者なので、実際には問題ありません。しかし、これで他の誰かが作業していて、その誰かがこの関数の古いバージョンを使用していたとしたら、彼らが書いたコードはもはやこれで動作しないでしょう。そういうことです。多くの人々が取り組んでいてほとんど変化しないコードベースと、少数の人々が取り組んでいて常に変化するコードベースとでは、完全に異なるダイナミクスがあります。
より多くのツールの追加
ここに戻りましょう。誰かの作業をフォローしたい場合はどこから始めればよいですか?つまり、これはすべてオープンソースなので、これは全部ここにあります。hoopo tatbot。これは私のGitHubで、ピン留めしてあります。これが私が取り組んでいるrepoです。実際に1分前を見ることができます。ここのcommitsに行くと、それは実際に私がちょうど行ったcommitです。そこに変更があります。
フォローできますが、私がここでやっていることを再実装することは必ずしも価値があるとは思いません。あなたが考えるべきことは、私のプロジェクトでMCPをどのように使用するかということです。この人がMCPを使用している、私はMCPをどのように使用するかということです。
ここでいくつかのスペースを削除しましょう。ここで追加できる他のツールは何でしょうか?git pull local tatbot repo。もう一つの迷惑なことは、このような多くのコンピューターがある場合、tatbot repoに変更を加えたら、これらの各コンピューターに入ってgit pullを実行して最新のコードを取得する必要があることです。MCPを介してツールを持つことは実際に便利です。各ノードに入ってgit pullコマンドを実行するツールです。
netに行って、run remote commandがあると思います。これを実行しましょう。run remote command。local node tatbot repoでgit pullを行うためにrun remote command関数を使用する新しいツールをrunmcpに作成します。すべてのノードがtatbotパスにtatbotを持っています。
これが動作している間、ここで行うことの1つは、contextというスクリプトもあります。このスクリプトは基本的にすべてのファイルをコピーして1つのテキストファイルに置きます。これを実行できます。./context、そして今、このcontext-o3.txtを作成しました。基本的に、tatbot v3のファイルのリストが以下にあると言って、基本的にend file begin fileでファイルがすべてあります。このツールgit ingestと非常に似ています。これはKarpathyが話したツールで、基本的にrepoを入れると、基本的にテキストに変換します。しかし、私は自分のバージョンを持っています。
これをcontrol all control copyして、Geminiに行きます。新しいチャット。tatbotのMCPサーバーを設計するのを手伝ってください。追加できる3つのツール、3つのリソース、3つのプロンプトは何ですか?そして、全体のコードベースをコピーペーストします。これが巨大な量のコンテキストであることがわかりますが、それを行って、o3 ProやGrok 3にも聞きます。
これら3つに料理してもらい、最高のツールとリソースを追加するための提案を助けてもらいます。
これが終了しました。import OS import subprocess。subprocessが見えるとすぐに、あまり好きではありません。subprocessを作成することを意味します。mcp tool run get pull config for node and nodes pull nodes。今のところ、大丈夫そうです。
これを再実行しましょう。これをテストできるかどうか見てみましょう。connect。今接続されています。ここでもう1つのツールが見えるはずです。git pull all runs git pull on the tatbot repository on all configured nodes run tool。
これには少し時間がかかるかもしれません。tool success。すべてのマシンでgit pullを実行する方法ができました。非常に良いです。tatbot、oho、uke、rpi 1、rpi 2に入ったのがわかります。raspberry piには長い間ログインしていなかったので、git pullは猿が見て、猿が行って、猿が学んで、そして猿が店に行って爪で買って仕事に取り掛かります。この場合、あなたは猿ですか?何が起こっているのでしょうか?
これも動作しました。ここでたくさんのものをインポートしているのは好きではありませんが、今、小さなMCPサーバーに2つの異なるツールがあります。ping nodesとpullです。
これらの人たちがどこにいるか見てみましょう。彼らが私たちに何かツールを推奨したかどうか見てみましょう。TatbotのMCPサーバーのデザインです。runMCPスクリプトに追加できる以下のツールです。完全なロボットモーションプランを生成します。それは良いアイデアだと思います。専用の可視化ノードで指定されたプランの3D可視化を開始します。それも良いアイデアです。プラン実行を記録します。これらはかなり良いと思います。
リソースを見てみましょう。これはもっと難しいです。ツールはかなり明らかだと感じます。それは最も明らかな抽象化ですが、リソースとプロンプトはより奇妙な抽象化です。プロンプトは、ユーザーがTatbot MCPサーバーとどのようにやり取りするかを示す自然言語の例です。
このプロンプトは2つのコマンドを連鎖させるでしょう。ロボットでcat planを実行し、cat test run 05として記録します。それは正しいことでしょうか?MCP文書に戻りましょう。概念、プロンプト。プロンプトにより、サーバーは再利用可能なプロンプトテンプレートとワークフローを定義できます。
ワークフローは、ツールをまとめて連鎖させることを意味します。これは、2つのツールコマンドを連鎖させることができるところで言っていたことです。動的引数を受け入れ、コンテキストを含み、複数の相互作用を連鎖させ、特定のワークフローをガイドします。動的プロンプトはリソースコンテンツを埋め込みます。
何らかの特定のタイプのリソースが必要なツール呼び出しがある場合、リソースは私が理解する限りデータのようなものです。プロンプトでそれがどのように動作するかは、何らかの特定の情報が必要なツールを実行する必要がある場合、最初にリソースを取得してからツールを呼び出すプロンプトを持つということです。理解し始めていると思います。
マルチステップワークフロー。このようなネストした辞書が見えるとすぐに、これはコードがどのように動作するかを説明していません。これらのツールは、それらは良くありません。
o3 Pro、o3 Proが推奨するものを見てみましょう。plan tatに出るすべてのプランの名前を返します。Apple plans、この良いです。プランをロードしてそのパス長統計を返します。この1つは良いです。すべてのノードについて、基本的なCPUとRAM使用量を報告します。これが実際に動作すれば、それは最高でしょう。
これを試してみましょう。o3が推奨したこのツールを追加します。ここに置きましょう。この汎用的なものを削除しましょう。MCP greetingを削除しましょう。addも必要ありません。
このツールを追加しました。これは本当にひどいpythonです。何をpath libを使いたがるのでしょうか。これをリファクタリングして、私たちのnet moduleを使用するようにしましょう。インポートするのが好きではありません。pathモジュールを使用するのが好きではないので、基本的にここで作成したnetモジュールを使用するようにしようとします。
これがもう一つのAI時代のコーディングについてです。並行して物事を行うのが得意になる必要があります。なぜなら、これらすべての推論モデルは答えるのに非常に時間がかかるからです。ただ座ってそれを待つことはできません。だからこそ、常に異なるものにalt-tabしています。
それが動作している間、この出力を読みます。list plans execute plans。MCPのリソースはエンドポイントです。プランエンドポイント、それは良いアイデアです。それをコピーします。
ここで今、is local nodeを使用しているのがわかります。これが私たちが望むものです。accept。これが実際に動作するかどうか見てみましょう。control Cしましょう。再起動します。
それが動作している間、ここに行って、このリソースを実装しましょう。connectしましょう。ここにもう1つのツールがあるはずです。node usage。まず、ping nodesを試してみましょう。すべてのノードがそこにあります。git pullを実行しましょう。成功するはずです。今、node usageをチェックしましょう。実際に何も持っていないはずです。
no module named psutil。これが問題です。
psutil、これを見てみましょう。比較的最近。10K stars、3週間前、先週、6ヶ月前を見てみましょう。これは非常に良いrepoです。多くのユーザーが見えます。非常にアクティブ、多くのstars。これは完全に価値のある依存関係のようです。それを追加しましょう。コードベースに追加しましょう。
この依存関係をコードベースに追加するために、これが受け入れるものは何でしたか?control Cします。uv pip install psutilを実行します。ここでバージョン7.0.0を行ったのがわかります。それをコピーして、pyproject.tomlに行って、ここの依存関係に置きます。
uv pi projectでは依存関係を分離できます。オプションの依存関係を持つことができます。例えば、これらはロボットの依存関係なので、ロボットアームにのみインストールしたいです。だから、すべての汎用依存関係から分離します。しかし、すべてのノードでこのpsutilコマンドを使用したいので、汎用依存関係にここに置きます。
しかし、この追加の依存関係を追加したので、問題があります。その問題は、今、基本的にすべてのコンピューターにインストールする必要があることです。このgit pullのような状況と同じです。git pull all。このツールを更新してそれをupdate allと呼びましょう。
これを選択して、git pullを実行することに加えて、このツールにtatbot source 0.3ディレクトリに入ってuv pip install .を実行させましょう。それだけではありません。UVMを作成して実行する必要があります。基本的に現在の既存の仮想環境を削除してから仮想環境を再インストールしたいからです。
最もクリーンな方法、UVがそれを非常に簡単にする方法は、最初に既存のものを非アクティブ化し、既存の仮想環境を削除し、これを削除し、作成し、ソースし、pip installすることです。
Cursorにこれらのコマンドを使用して古いVMを適切にクリーンアップするように伝える必要があります。これらのコマンドのいくつかは、remove UV.lockやdeactivateのように失敗する可能性があるので、ツールがこれに対して堅牢であることを確認してください。
人々からの質問はありますか?MCPの質問である必要はありません。何についてでも質問できます。ここで話すために、すべてのAIポッドキャストを聞いているので、それについても質問できます。
これが新しいget planです。これはリソースなので、これまで追加してきたすべてはツールです。これは基本的に情報です。プランはtatbotの抽象化で、基本的に1つ…その画像に問題があります。
update all runs git pullは、Python依存関係を再インストールし、git pullを実行し、すべての依存関係を再インストールします。それを更新しています。実際のコマンドです。
大丈夫そうです。acceptです。これを実行できるかどうか見てみましょう。音声認識、実行しましょう。何かが起こっています。バグがあります。Cursorに修正してもらいましょう。何が間違っているかを発見できるかどうか見てみましょう。おそらくこのようになる必要があります。
インスペクターを開きましょう。connect。AIはまだ、室温超伝導体のような狂った科学的ブレークスルーを一発で達成していません。ChatGPTから3年が経ちました。
つまり、これについていくつかの意見があります。まず第一に、AIはすでに科学を加速している。個人的にもそれを感じることができます。このコードベース、私が取り組んでいるこのtatbotプロジェクトは、AIなしではできませんでした。コードの量、コードを作成し、機能を追加する速度は、少なくとも5倍速いです。
以前は、コードエージェントを持つ前は、このようなもののそれぞれは多分1週間かかっていましたが、今は1日でその量の作業ができます。基本的に1週間の作業を1日の作業に圧縮できました。コードが主要なボトルネックである科学的進歩、それはすべての科学的進歩のサブセットですが、すでに加速されていると思います。
ただ、その作業を行っている人々、科学者たちがクレジットを得ているため、クレジットを得ていません。その生産性向上を可能にしているのはAIだとしても。だから、その意味でAIはすでに科学を加速していると言えますが、Paul、私たちがAIによって完全に生成された大きな新しい興味深いものを得ていないということには同意します。
それは、これらのAIについて一つ興味深いことがあります。KarpathyがYouTubeのstartup schoolで使用している用語が大好きです。これは彼が行った素晴らしい小さなインタビューまたは話でした。彼はAIを一種の人間の精神と呼びました。つまり、AIは人々のシミュレーションです。それは重要なことだと思います。
AIには百科事典的な知識と記憶があります。つまり、AIはすべてを知っています。医学の専門家、数学の専門家、語源学や地理学の専門家です。非常に多くの知識を持っています。しかし、どういうわけかそれらの組み合わせを持っていません。
人間が地理学の専門家であり、また自転車のメンテナンスのような完全に関係ないものの専門家でもある場合、これら2つのものを組み合わせて、これまで存在しなかった新しい洞察を生み出すことができるでしょう。しかし、LLMはそれを全くしません。それらにとって、これらすべての異なる専門知識と知識の分野は別々です。なぜなら、それらは人間の世界でも一緒ではないからです。
すべての医学知識、知識埋め込み空間のその部分は、地理学知識や何かから分離されています。だから、AIはこれら2つの知識空間の間に住む新しい洞察を思いつくことは決してありません。AIの動作方法は、意識のスレッドがあり、トークンを生成しているからです。医学トークン、医学トークン、医学トークン、医学トークンを生成している場合、突然地理学トークン、地理学トークン、医学トークン、医学トークンを入れることはありません。
知識をブレンドできません。医学専門家の精神、地理学専門家の精神を再現しているだけです。人々が望んでいる次レベルの科学的ブレークスルーの多くは、これらの異なる種類の人間の専門知識と知識ベースの組み合わせだと思いますが、AIは百科事典的な知識を持っているにもかかわらず、新しい興味深い方法でそれらを組み合わせる能力を持っていません。
温度を2に設定すれば、出てくるトークンの分散を増やし、よりランダムさを得るでしょうが、コンテキストの他のすべてのトークンはまだ医学トークンなので、違う部分にランダムに行くことはありません。すべてまだ医学テーマになります。なぜなら、コンテキストが出力を設定し、出力が出力を決定するからです。自動回帰モデルで、出力はコンテキストに依存し、コンテキストは特定の種類の人間のシミュレーションです。
Alpha 2は2億のタンパク質を予測しました。以前の技術に基づくと240兆ドルと5500万労働年に相当し、無料でリリースされました。それはGreg Brockmanが彼のブレークスルーとして言及したものだと思います。
モデルは暗黙的にブレンドしません。ただ冗談を言っているだけです。知っています。私が言うことのほとんどは皮肉的で、必ずしも正しくありません。
tools node usage。これがやりたかったことです。update all run tool。これで仮想環境のリセットも行うはずです。uv command not found。uv command not found。そして、間違いなく、100%ここにUV仮想環境があります。
実際にRaspberry Piマシンにsshして、それを実行できるかどうか見てみましょう。ssh rpi 1 at 192.168.0.何ですか?configsに行って、rpi oneが何であるか正確に見てみましょう。これはここの1つでした。98。tap rpi oneである必要があります。
実際には見つかりません。興味深いです。すべてのコンピューターにUVをインストールする必要があります。それは迷惑でしょう。
ここです。bam。rpi 2でも同じことをしましょう。他に何と言いましたか?ukeにも完全にUVがあるはずです。
rpi 1とrpi 2を更新したので、今このツールを再び呼び出すと、動作するはずです。Paulからの質問、調子はどうですか、Felix。蒸気機関のように人間の労働を加速しましたが、すべてを人間の方法を使用して発見しました。新しい計算パラダイムと能力を使って。
それは私が主張していたことです。AIは人間の労働を100%加速しています。uvxをパッケージと一緒に使用して、インストールをよりスムーズにできます。uvx from name of package name of script。UV pip installしてからUV runする必要がないと言っているのですか?uvx、何について話しているのかよくわかりません。
uvx。Python、今検索してください。uvxは要求されたツールの最新バージョンを最初の呼び出しで使用します。つまり、これはツール用です。ツールはコマンドラインインターフェースを提供するPythonパッケージです。UVがPython パッケージマネージャーを超えて拡張しようとしているようです。UV、シンプルなツールが欲しいです。UVはPythonパッケージマネージャーであり続けてください。コマンドラインを消費しようとしないでください。それはより迷惑になるだけです。
このrun tool result successしたが、個々のリモートコマンドは失敗しました。コピーしてください。ここに戻って、そのkillします。更新コマンドまたはツールは、個々のリモートコマンドが失敗しても成功します。
UVはPython用のcargoのようなものにしたがっています。同意します。ビルドシステムのようなもので、その他すべても消費し始めます。だから、コマンドライン引数があれば、今はUVを通るだけで、そこでたくさんの魔法が起こります。良いことかもしれませんが、UVが好きなのは、速くて、すべてをフォルダーに置くからです。つまり、すべてのものをこのvmフォルダーの中に置くので、依存関係で何が起こったかわからない奇妙な状態に入った場合、文字通りこのフォルダーを削除できます。remove -rf .vm、そして完了です。完全なリセットです。
そのフォルダーを削除してから再インストールする能力があり、十分に高速なので、基本的にこれを非常に迅速に行い、開発者ワークフローの一部にできることです。それが私にとっての利点です。
repo pathのuv pip install、それは欲しくありません。ただこれをやってください。ファンシーになろうとしないでください。export home local bin path。bash shellが問題かもしれません。
それを除いて再実行してみましょう。そのまま、なぜすべてを再インストールしたのでしょうか?is local nodeだったので、削除し、ローカルにあったものを削除し、今それを再構築しています。ちょっと迷惑です。それを除いてみましょう。
ローカルのものはやりたくありません。ノードだけをやりたいです。if is local node pass、それをスキップしたいだけです。save kill run open open connect tools list tools ping nodes run tool。全て接続されています。update all run tool。何かやっています。
チェックしてみましょう。Raspberry Piに戻ってsshしてみましょう。dash bin dash bash uv。つまり、間違いなくそこにあります。何が起こっているのかわからないのですが。
これが実際に実行しているものです。このコマンドを実行してみましょう。うん、間違いなく動作します。
この run remote command、何かがそれに問題を起こしているようです。Cursorに問題を説明しましょう。このコマンドは、私がsshするときは問題なく動作しますが、MCPサーバーを通じて行うときは動作しません。何が問題を引き起こしている可能性がありますか?
少し水を飲みましょう。ただのリラックスした金曜日のコーディングです。パス変更に焦点を当てます。マシンにsshするとき、シェルはbash rcやprofileのようなスタートアップファイルを実行します。しかし、コマンドがsshでプログラム的に実行されるとき、しばしば非対話的で非ログインシェルです。これらのシェルは常に同じスタートアップファイルを実行するわけではないので、パスは最小限になる可能性があり、例えばUVがインストールされているコマンドが見つからない場合があります。
それが私がこれをやりたかった理由です。基本的にこのrun remote commandは、client.exec_commandを使用しています。parameoを使用しています。
これは実際に非常に興味深いプロジェクトです。paramiko。まず第一に、これだけのためのGitHub組織です。paramikoに関してのプロジェクトです。実際のプロジェクトに関しては、すべての正しいシグナルがあります。高いstar数、2年前、多分昨年のような変更、4ヶ月前、10ヶ月前。しかし、20年前を見てください。これは20年前のプロジェクトで、まだ更新されています。
SSHv2の純粋なPython実装。基本的にファイルを転送するために使用します。cryptographyに依存しています。メインの人をクリックしましょう。developer cis admin。これがparameoの主要な開発者だと思います。この人がワシントンDCで働いていて、セキュリティに重点を置いています。これはSSHに使用されるparameoの主要な開発者です。これは何か秘密のCIAのものが起こっているのでしょうか?わかりません。セキュリティが得意ではないので、多分愚かすぎるのでしょう。
これを更新したので、今これを再実行してみましょう。5つの異なるインスペクターが開いています。connect tools list tools ping nodes update all。動作しているような感じです。request timed out。環境を再作成する必要があるので、時間がかかります。このタイムアウトが短すぎます。uvm installationには時間がかかります。
config key path。この更新のためのタイムアウトが短すぎると言いましょう。UVM installationには時間がかかります。update all functions timeout。このタイムアウトは実際にどこで指定されているのでしょうか?30秒だったのを台無しにしました。30秒のようには全然感じませんでした。
これを閉じましょう。メインセッションに戻りましょう。save。新しいものを開きましょう。これを閉じましょう。connect。なぜそれが動作しないのでしょうか?
たくさんのことが起こっています。created client transport connect。突然すべてのゴミがフィードされています。動作しなくなりました。何かが実行されているからでしょうか?
pseudo pekill python star。これは古典的です。uv virtual amp、念のためにリセットしてみましょう。それは非常に速かったです。良い迅速なリセットです。戻ってきて、run mcp。inspectorが動作しています。何も変更していないような気がしますが、突然動作しなくなりました。
タイムアウトリクエスト、何が起こったのでしょうか?文字通り何も変更していないのに。psutilを追加しただけです。これは、それ以来行ったすべての変更です。何かがそれを壊すべきだと感じることは何もありません。
F11またはF8だと思います。control F8です。developer tools control shift I。console elements。
MCPプロキシoff。DCの開発者についてゴミを話したから、彼が今私のコンピューターをハッキングしているのだと思います。「よくも私を!」みたいな。ボタンが反応しなくなっています。uv run MCP、このコマンドは動作しますか?uv run MCP starting MCP server。
これは動作しますか?いいえ、いいえ、いいえ。人々がこれをどのように推奨するか見てみましょう。cursor use a custom MCP server model context protocol。MCP serverの使用方法。独自のMCP serverを構築して使用する。これが欲しいものです。edit MCP server add new MCP server mcp tools add custom MCP server。
これは私が持っているものです。ツールが利用できません。これは私たちが遭遇していることです。これは古いUIのようです。すべて古い、2月。UIを更新したような気がします。これはもう同じUIではありません。認証はどのように行っているのでしょうか?それが本当の質問です。CursorはこのMCPサーバーとどのように認証するのでしょうか?なぜなら、このMCPサーバーを作成するときに、ここで何らかの認証を伝える必要があるかもしれません。
実際のconcepts examples tutorials example serversに戻りましょう。ここでcursorをcontrol Fしてみましょう。key features example clients。欲しいものではありません。cursor client reference implementations archive servers development tools web and browser automation Brave search。これは人気があるような感じです。
これは似ているようです。これここのJSONと似ています。mcp servers brave search command docker。実際に、このはDockerの中で実行されているのがわかります。これは私たちがこのUV状況で行っているよりもおそらくクリーンです。これはDockerを使用していません。npx usage with VS Code。UV ベースのcursor MCP serverの例はここにありますか?UV run non-docker MCP servers and cursor。それが私たちが必要としているものです。MCP proxyをインストールする必要があります。MCP reverse proxyを実行します。これは非常に迷惑です。
mcp proxy mcp reverse proxy。これをやってみましょう。run MCP run MCP。見つかりません。この Kubernetesのものを試してみましょう。それが動作すれば、私たちのものを動作させるステップかもしれません。
新しいSSC MCP serverを追加します。そして必要なのはURLとtransportだけです。
それを追加しましょう。これを何と呼ぶのでしょうか?calculator、いいえ、これはKubernetes mcp server Kubernetes。これもここにあるはずです。
このものは実際にロードしています。ツールは何かやっています。loading toolsで止まっています。このことをやってみましょう。このコマンドが私たちにとって動作したことがわかります。control Cでこれから出ます。それをオフにします。このコマンドが私たちにとって動作したことがわかります。uv runを使用します。
これを取って、ここに置きます。これをコメントアウトします。tatbot dev、transportは何でしたか?stdio。
loading tools loading tools。ほぼそこまで来ています。感じられます。
GitHubに戻りましょう。Pythonに行きましょう。この fast MCPオブジェクトは私たちが欲しいものとは違うかもしれません。server implementation。これをやってみましょう。
なぜこのmcp run MCPに接続できないのか理解できません。このセッションの途中で動作を停止しました。奇妙な理由で。多分、これらすべての追加ポートがここにあることです。ここに戻りましょう。ポートをリセットします。mcp run。この run MCP状況が混乱を引き起こしていると思います。
何をすれば良いのでしょうか?uv UV MCP run。明らかにuv run MCP run MCPが必要でした。ここでログレベルを変更します。debugフラグを取得できますか?問題は、彼らが持っているこのwrapがただのゴミだということです。実際の
ここに戻りましょう。direct execution。これが私たちがやっていることです。stateless HTTP transport。複数のfast MCPサーバーをマウントできます。あまりにも多くの方法があります。40の異なるものがあり、すべてが抽象化されています。ひどい体験になります。
これをやって実行すると、クライアントでそれにどのように接続するのでしょうか?それは101のようなものであるべきです。このMCPサーバーに接続します。
client usage。どのように接続しているのでしょうか?どのように接続するのでしょうか?writing MCP clients client display utilities。この奇妙なフラグを置いてみたらどうでしょうか?彼らが置かないように言い続けているこれです。dangerously omit offを置いてみましょう。fast MCP。
これには何らかのプロパティがあるはずです。o server provider、いいえ、何らかのIPアドレスが欲しいです。completion resource decorator prompt custom route handle SSC SSE。SSEサーバーアプリのインスタンスを返します。
これをやってみましょう。rawします。それをコピーします。
Kubernetesに戻って、ここです。tatbotと呼びます。これをやります。connect。run MCPでfast MCPに関する情報を記入します。
cloud、ひどい時点で参加しましたね。MCPサーバーをCursorに接続させようとしていますが、このCursorは実際にはリモートワークスペースセッションだと思います。だから、これがすべてひどい理由の一部だと思います。このCursorセッションは実際には異なるコンピューターへのリモートセッションで、その異なるコンピューターが実際にMCPサーバーを実行しているのです。接続しようとするとき、ここから接続しようとしているのではなく、実際の別のコンピューターから接続しようとしています。だからおそらく問題が起きているのです。
しかし、問題は、MCPのことは、特にPython SDKは、これを可能な限り脳死にしたかったということです。Python SDKを書いている場合、コードを使用する人がバカだと仮定するからです。Pythonは遅い子供向けです。私はPythonをずっと使用しているので、私が遅い子供であることを理解していますが、問題は、これらすべてのことを隠してしまうことです。あなたは実際にわからない、例えばこのサーバーはどこですか?このサーバーがどこで実行されているのかさえ教えてくれません。それはただバックグラウンドでやってしまい、非常に不明確です。
以下の機能を追加します。いいえ、このURLを追加してください。何これ?指示拒否、何これ?
streamable HTTP。サーバーがHTTPで実行するように設定されたので、デフォルトのURLでMCPを更新します。mcp.run transport。ここに戻って、fast mcpクラスに行くと、f run。これがrun関数です。transport corgです。そこにあります。デフォルトはstdio、それは以前に実行していたものです。現代的なPythonです。これに切り替えます。
それを確認し、次のファイルをレビューします。そのtransportで利用可能になるはずです。mcp.pyを実行すると、サーバーが開始されます。MCPサーバーが実行されています。ここで利用可能です。Cursorにそれがそこにあることを伝えました。今Cursorに行くと、loading toolsで止まっています。まだloading tools。404 not found。
Cursorがデバッグできるかどうか見てみましょう。control I、セッションを失わないように。control Lだと思います。現在のチャットに追加して、settings panelでloading toolsと言って、そこで止まっています。何が起こっている可能性がありますか?認証?
ここで取得した404が少し心配です。Pokemonがさまざまなllmによって完了されているZZZZZZZZZZZZZZによる質問ですが、多くのツールが必要で、長期的なコヒーレンスのためのvending benchのようなMCPツールが必要です。vending benchとは何ですか?聞いたことがありません。
vending bench。長期コヒーレンスのための自律エージェントのベンチマーク。ネットワークエージェントは短期タスクで印象的な熟練度を示すことができますが、しばしば長い時間軸で一貫したパフォーマンスを維持することに失敗します。
これは永遠の問題でした。強化学習を見ると、これは常に問題でした。非常に長いホライズンタスクを持つ任意の種類の環境で、長いホライズンは単に長いタスクを意味します。長いホライズンタスクの古典的な性質の1つは、報酬信号が、その報酬信号を取得するために必要な実際の行動から非常に離れていることです。
Mont Zumaの復讐、これは古典的なRLゲーム、Atariで人々がプレイしていたもので、非常に長いホライズンだったので困難でした。基本的にこの鍵を掴んで、4画面下の他の場所に行ってドアを開ける必要がありました。特に初期の頃は、そこに少しよりランダムさがあったので、その情報を長時間維持することは非常に困難でした。鍵を掴んでドアを開けに行く正しい一連の行動やアクションのシーケンスを取得することさえ非常に困難でした。
それを持ち出す理由は、より長い時間軸の例としてです。この論文では、vending badgeを提示します。シミュレートされた環境で、LLMのエージェントが直接的な長期実行ビジネスシナリオを管理する能力をテストします。自動販売機を運営し、在庫のバランスを取り、注文を出し、価格を設定し、日々の手数料を処理します。高分散です。
各サブタスクは非常にシンプルですが、長い時間軸で、エージェントのパフォーマンスがしばしば悪化することを観察します。別の興味深いdagger roboticsの論文です。模倣学習での将来の観測は以前の予測に依存する順次予測問題です。一度予測がパスから少し外れると、将来の予測はそれらの以前のものに依存するので、パスからさらに外れることが容易になります。
それが根本的な問題です。各個々のサブタスクはシンプルですが、非常にわずかな間違いを犯すと、それらの間違いが蓄積し始め、ある時点で、正しい決定を下そうとするために使用しているコンテキストがこれらすべての間違いで汚染されるので、実際に良い選択をする可能性はかなり低くなります。間違いの蓄積ですが、ここで根本的な部分を欠いていると思います。
ある種のエラー訂正が常に実行されていることを欠いていると思います。自動販売機を運営しているLLMがあった場合、何かをする必要があるときにのみ呼び出すのではなく、基本的に利用可能なすべてのテキストを常に見て、MCPの用語を使うと、すべてのリソースを常に見て、「これは正しいですか?これは正しく見えますか?これは正しく見えますか?」と常に自分に問い続けるバックグラウンドプロセスを持ちたいでしょう。
常にその質問を続け、記憶を修正し、持っている情報を修正します。この論文を実際に読んでいないので、それをやっているかどうかわかりませんが、この種の常習的なエラーチェックとエラー訂正を追加すれば、おそらくagentic AIsのホライズンを増やすことができるでしょう。それは新しいタイプのビジネス使用例になるかもしれません。
ほとんどの会社、または会社の大きな塊が基本的に自動化され、何らかの中央AIによって運営される未来を想像できます。ビジネスのすべての情報を与えて、「すべて良く見えますか?」と尋ねるAPIサービスの種類を想像できます。これは現在、人々が弁護士や金融の人々をどのように使用するかに似ています。「これが私の法的文書のすべてです、私に良く見えますか?」または「これが前四半期の金融文書のすべてです、これはすべて良く見えますか?」そして、1人だけでなく、複数の異なる金融の人々に尋ねます。
自動販売機を運営するLLMが時々ここのこのAIに尋ね、時々この他のAIに尋けることを想像できます。エラーがあるかどうか、エラーを修正していないかについて、わずかに異なる意見を与える多様な異なるAIがあると、それらのエラーを見つけて修正する可能性が高くなり、一貫したコンテキストを保証するために外部の意見を取得し、エラーがなく、これらのエラーを蓄積していないと思います。ホライズンを延ばすでしょう。
すべてのLLMがクラッシュアウトしました。これはZZZからです。ストーリーがドラマチックなクライマックスを持つバイアスが、彼らに影響を与えていると思いますか?ドラマチッククライマックス、何の話をしているのでしょうか?クライマックス、ドラマは見つけられません。control F drama。30,000。
これが私には崩壊すると感じる部分です。記憶の中にゴミを入れ始めると、記憶の中にたくさんのゴミがあると、AIはうまく動作できません。しかし、それを通過してゴミからクリーニングするものを先回りして持っていれば、はるかにうまく動作するかもしれません。
これは私の考えです。$10でDaoChongです。感謝します。何をしてそれに値するかわかりませんが、とにかく感謝します。多分DaoChongに質問はありますか?run MCP node usage update all。update allも実行してみましょう。すべてのノードを更新します。update allを呼び出しています。正常に更新されました。
もう一度node usageを試してみます。node usageを呼び出しました。天啊、見てください。単にブラストしています。これを実行しようとしましたが、ノードの1つで動作しませんでした。行って、この実際のPiでPythonコードを実行し始めました。しかし、それは正しいユーザーネームでさえありません。停止してください。
つまり、それはかなり良いです。とにかく時間超過しているので、そこで終わるかもしれません。カーソルからMCPツールを正常に呼び出したからです。
まとめ
私たちが持っているものをプッシュしましょう。皆さん、少しレビューしてみましょう。MCP、これが今日のストリームでした。今日のストリームでは、Model Context Protocol MCPにもう少し慣れました。GeminiがMCPの最高の説明を持っていたと思いました。
MCPは、LLMのようなAIモデルが外部データソースやツールと接続し、活用する方法を標準化するオープン標準です。基本的に、LLMにプレーンテキストやデータベースのような情報、そして私たちの場合はこのタトゥーロボット上のこれらの異なるコンピューターを制御し、それらで異なることを行う能力であるツールへのアクセスを与えます。
主な機能は、各新しいデータソースやアプリケーションにカスタム統合を必要とせず、ユニバーサルなモデル非依存のインターフェースを作成することです。古典的なソフトウェア世界に存在していた、何十年にもわたって構築してきたすべての異なるツールを、基本的にAIが使用できるようにする必要があります。このツール使用機能によってです。
MCPが行うことは、基本的にこのユニバーサルプロトコルを作成することです。これは標準と言う洒落た方法に過ぎません。何かをするランダムなロボットがあって、この特定の方法でツールを提供し、このサーバーを公開すれば、任意のモデルが効果的にそれらのツールを使用したり、そのことについて情報を取得したりできます。
このタイプのプロトコルは、みんながそれらを使用することを決めた場合にのみ動作します。HTTPは別のタイプのプロトコルで、HTTPが動作する理由は、みんながそれを使用するからです。MCPは、みんながMCPを使用することを決めた場合にのみ動作しますが、最近見たYouTubeビデオから、Greg Brockmanが彼がそれを使用していると言っているビデオがありました。OpenAIがおそらくそれを使用していることがわかり、Anthropicが明らかに使用していることがわかります。
十分な臨界質量があるので、MCPがここで標準として続くことになるだろうと思います。パラダイムが十分に変化して、もうMCPを使用しなくなる、誰かが新しいものを思いつく、多分OpenAIが独自のバージョンを持って、突然anthropicのMCPを使用しなくなることを決めるという可能性は常にありますが、それはあまり可能性が高くないようです。
それがMCPです。cursorで動作させ、さまざまな問題に遭遇しました。ちょっと迷惑でした。このドキュメンテーションは少しひどいと思います。少し混乱しすぎています。もう少し合理化されるべきです。これを見てください。readmeに50の異なる方法があるのは多すぎるPythonコードです。readmeは「ここに1つの例があり、例は毎回動作する」であるべきです。「わずかに異なることを持つ50の異なる例」ではありません。
とにかく、今日ぶら下がってくれた皆さんに感謝します。良い週末をお過ごしください。ちなみに今日の音楽はUdoからのものでした。Lo-fi Houseとタイプして、プレイを押しただけです。それが背景で流れていたものです。サムネイルはOpenAIの小さなジブリからです。
みんな、ぶら下がってくれてありがとう。Alex、Ed、ZZZ、$10のDaochong、by cloud、Ed、Julian、Paul、South CX、Felix、Frey、Xuna、87gn、Sid、Tony、Ram、Ram Chandani、Constantin、Prateique、Lil KMの皆さん、ありがとうございました。皆さん、良い週末をお過ごしください。また後でお会いしましょう。


コメント