とりあえず FastMCPで事足りるかなという感じ
FastMCPで書いたサーバを LLMからどのように呼び出すかが次の課題。
$HOME/Library/Application Support/Claude/claude_desktop_config.json
モデル コンテキスト プロトコル (MCP) を使用した Copilot Chat の拡張 - GitHub Docs
プロジェクトの .vscode/mcp.json
に記述
$HOME/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
各環境でまちまち。 Claude Desktopだと以下のようになっている。
{ "mcpServers": { "weather_service": { "command": "uv", "args": [ "--directory", "<PATH_TO_SERVER>/MCP_weather_service", "run", "weather-service" ], "env": { "XYZ_API_KEY": "******" } },
Claude Desktopは 2025年05月の時点で stdioしかサポートしていないらしい。なのでクライアントはとりあえず stdio で作っておけばいい。
あとで調べ直す
aws sso login --profile your_profile_name
メモ。なんでこんなめんどくさいツールを選んだんだ...
検証のために変数に仮の値を代入するには
という方法しかなさそう。ほんとつらい
一時的にローカルマシンでサーバを動かしたいと思った時のメモ
dockerコンテナで webサーバがポート 80で起動しているとする。
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=<WSL2_IP_ADDRESS>
新しい規則 → ポート → TCP, 特定のローカルポート (80など) → 接続を許可する → ドメイン、プライベート → 名前は適当につける
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0
ファイアウォールの設定も削除、または停止しておく
Power Automate のワークフローをAIに書かせられないの? ということを考えている。 とりあえず Microsoftの Copilotは式の作成くらいしか役に立たないことが判明してて、praywright-mcp でブラウザ操作でどうにかならんかと思ったがちょっと荷が重たそうだった。
一歩後退して、エクスポートされたワークフローの zipファイルの中を見てみる。
> tree
.
├── Microsoft.Flow
│ └── flows
│ ├── b48b234e-c5ba-4cf5-af95-a2fe6d6742b8
│ │ ├── apisMap.json
│ │ ├── connectionsMap.json
│ │ └── definition.json
│ └── manifest.json
└── manifest.json
全部 json だった。なんとなく時代を感じる。
で、これを Clineに食わせてみるとちゃんと何をするものかを理解してくれる。
じゃあこれで開発できるんじゃない?と思い、「メッセージの送信先メールアドレスをハードコーディングしているところを直して。 office365のプロフィールを取ってきて mailって情報があるからそれを使って」と指示を出すとコードを修正してくれた。動かしてはいないが読んだ感じ問題なさそう。
これで問題は解決かというとそうでもなく、 * 動作検証するのに zipにかためてアップロードして... を繰り返すことになるのでめんどくさい * 人間がある程度解決方法を知ってないと使えない。多分「office365のプロフィールにメール情報がある」なんてことは Clineは知らない
あくまで動作不良のワークフローの解析に使うくらいが限界かな、というところ。
便利ではあるけどもうちょっとなんとかして、というところも散見される。
まあ本来の目的でない使い方をしようとしている自分が悪いのだけど。素直に目的に特化したアプリケーションを作ったほうがいいか。
ワークスペース単位で clineの設定を変えることは現状できない。なので「ワークスペースAはMCP X, Y, Zを、ワークスペースBでは MCP A,B,Cを」みたいな切り替えができない。 ↓ みたいにワークスペースごとに設定できればいいんだけどな
https://github.com/modelcontextprotocol/servers/tree/main/src/memory には現状 MEMORY_FILE_PATH を指定できないバグがある。
~/.npm/_npx/15b07286cbcc3329/node_modules/@modelcontextprotocol/server-memory/index.js
の MEMORY_FILE_PATH
を以下のようにすれば修正できる。githubでも言及があったのでそのうち対応されるだろう。
#!/usr/bin/env node import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js"; import { promises as fs } from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; // Define the path to the JSONL file, you can change this to your desired local path const __dirname = path.dirname(fileURLToPath(import.meta.url)); // const MEMORY_FILE_PATH = path.join(__dirname, 'memory.json'); const DEFAULT_MEMORY_FILE = path.join(__dirname, 'memory.json'); const MEMORY_FILE_PATH = process.env.MEMORY_FILE_PATH || DEFAULT_MEMORY_FILE; // The KnowledgeGraphManager class contains all operations to interact with the knowledge graph class KnowledgeGraphManager { ...
memory.jsonは以下のようにインストール先のディレクトリ下に格納されている。
~/.npm/._npx/15b07286cbcc3329/node_modules/@modelcontextprotocol/server-memory/dist/memory.json