時系列のログ形式で記載しています。

https://github.com/ganyariya/misskey-mcp-server

Issue を MCP 経由で作成してもらう

MCP をセットアップする

github-mcp-server を VSCode でセットアップします。 VSCode Install Server をクリックすれば MCP Server を起動する設定を自動で .settings.json に追加してくれます。

Imgur

url: https://github.com/github/github-mcp-server
title: "GitHub - github/github-mcp-server: GitHub's official MCP Server"
description: "GitHub's official MCP Server. Contribute to github/github-mcp-server development by creating an account on GitHub."
host: github.com
favicon: https://github.githubassets.com/favicons/favicon.svg
image: https://opengraph.githubassets.com/b69fada27b90c4b619ff063e054aa45e2cd4ac46284a0dbd92e1cf511388a7b6/github/github-mcp-server

https://apidog.com/jp/blog/github-mcp-server-jp/

Imgur

追加してくれる設定は上記のようになります。 misskey-mcp-server を起動すると自動で pat の入力ポップアップがでるため、必要な権限を割り当てた pat を用意して記入しましょう。

Imgur

ツールボタンを押して MCP Server: GitHub が出れば OK です。

MCP で Issue を立てるまえに cursor project rules を用意する

url: https://docs.cursor.com/context/rules
title: "Cursor – Rules"
description: "Control how the Agent model behaves with reusable, scoped instructions."
host: docs.cursor.com
favicon: https://mintlify.s3-us-west-1.amazonaws.com/cursor/_generated/favicon/favicon-32x32.png?v=3
url: https://zenn.dev/globis/articles/cursor-project-rules
title: "Cursor の Project Rules 活用と改善"
host: zenn.dev
image: https://res.cloudinary.com/zenn/image/upload/s--haxWOm3p--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Cursor%2520%25E3%2581%25AE%2520Project%2520Rules%2520%25E6%25B4%25BB%25E7%2594%25A8%25E3%2581%25A8%25E6%2594%25B9%25E5%2596%2584%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_34:tanukiti1987%2Cx_220%2Cy_108/bo_3px_solid_rgb:d6e3ed%2Cg_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzJkZmVkY2VkZTAuanBlZw==%2Cr_20%2Cw_90%2Cx_92%2Cy_102/co_rgb:6e7b85%2Cg_south_west%2Cl_text:notosansjp-medium.otf_30:GLOBIS%2520Tech%2Cx_220%2Cy_160/bo_4px_solid_white%2Cg_south_west%2Ch_50%2Cl_fetch:aHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSl9iTE5Nby1YenpDUWhUNTUxajFVXzNWaGZiZVlNVm1neGo3aEYtbzNhVXljeUVQSVU9czk2LWM=%2Cr_max%2Cw_50%2Cx_139%2Cy_84/v1627283836/default/og-base-w1200-v2.png

project rule とは

Cursor において新たに推奨されるようになったカスタムルールのファイルです。 .cursor/rules/ ディレクトリ配下に好きな構成で .mdc という拡張子で用意します。 YAML Frontmatter でルール条件を設定でき、常に発動するようなルールも用意できます。

Cursor 以外のエディタを使う場合も .cursor/rules/xxx を参照してください。と用意できそうですね。

Cursor にルールを生成させる

Imgur

README.md へ今の実装状況を Cursor に記述させる

https://github.com/ganyariya/misskey-mcp-server/pull/6

今の API / Misskey MCP Rule 実装状態を Cursor に記述させました。 こういうのを全部やってくれて便利ですね。

Issue を MCP に用意させる

現時点におけるリファクタ/機能改善 Issue を用意させる

  • Go のベストプラクティスに沿うようにリファクタしてほしい
    • ディレクトリ構成を修正する
    • エラーハンドリングを追加する
    • テストは追加しなくてよい
  • テストを追加する
  • GitHub Actions を追加する
  • Goreleaser を追加してバイナリをビルドする

上記のタスクをまずは共通タスクとして用意します。

1 つ目の Issue を作ってみる

1 つ目の Issue 作成は丁寧に履歴として残します。

misskey-mcp-server リポジトリに issue を追加してほしいです  
以下の内容で追加してください  
Issue タイトルは良い内容を考えてください。

---

.cursor/rules ディレクトリのファイルを必ず読んでからコーディングしてください。

以下を達成してほしいです

# 要件: リファクタリング

今後別の misskey api を mcp から叩けるようにします。  
ここで、他の api エンドポイントの mcp tool を追加しやすいように go のベストプラクティスに沿った内容になるようリファクタしてください。

- ディレクトリ構成
- エラーハンドリング
- ロガーの追加

ただし、テストは別の Issue で実装するため、テストは実装しないでください。

Imgur https://github.com/ganyariya/misskey-mcp-server/issues/7

VSCode の mcp 拡張 + copilot agent でちゃんと Issue が作成できました。 英語で書いてくれなかったため、それはプロンプトを修正します。

2 つ目の Issue をつくる

misskey-mcp-server リポジトリに issue を追加してほしいです  
以下の内容を `英語に翻訳して` 追加してください。グローバルの人々に使ってもらえるようにするためです。  
Issue タイトルは良い内容を考えてください。

---

.cursor/rules ディレクトリのファイルを必ず読んでからコーディングしてください。

以下を達成してほしいです

要件: テストの追加  
Go のベストプラクティスにそってテストを追加してください。  
golang/mock を使ってもらえるとベストです。  
ただし、過度にテストを実装する必要はありません。ドメインロジックのみテストできればよいです。  
E2E テストなど、通信まわりのテストは必要ありません。  
ドメインロジックのみテストするようにします。  
また、ドメインロジックのみテストする、というテストの方針について .cursor/rules に記載してください

https://github.com/ganyariya/misskey-mcp-server/issues/8

VSCode 単体で MCP 経由で Issue 作れるのよいですねぇ…。 会社の方針的にも使えそう…。

同様に Issue をつくる

https://github.com/ganyariya/misskey-mcp-server/issues/9

各 API の Issue はリファクタを終わらせてからやります。

Jules に 1 つ目の Issue を実装させる

Google Jules を無料枠内で使ってみる

Google Jules が 2025/05/31 時点では 1 日 60 タスクまで無料のため、 Issue を起点に実装させます。

assign-to-jules というラベルをつけることで Jules がそれを検知して PR を作成してくれるようです。

url: https://zenn.dev/yuulab/articles/2b11efc30ebc10
title: "Googleの新しいコーディングAIエージェントJulesを使ってみた"
host: zenn.dev
image: https://res.cloudinary.com/zenn/image/upload/s--WrQNwFgX--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:Google%25E3%2581%25AE%25E6%2596%25B0%25E3%2581%2597%25E3%2581%2584%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2587%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0AI%25E3%2582%25A8%25E3%2583%25BC%25E3%2582%25B8%25E3%2582%25A7%25E3%2583%25B3%25E3%2583%2588Jules%25E3%2582%2592%25E4%25BD%25BF%25E3%2581%25A3%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:yuuuto%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzg3YjJhZmQ1MTkuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png

https://github.com/ganyariya/misskey-mcp-server/issues/7

Imgur Imgur

しっかり Jules 内でタスクを実行してくれていました。

https://github.com/ganyariya/misskey-mcp-server/pull/10

結果を見たところ、だめでした。 ビルドすると misskey という名前が衝突してエラーになります。 go build してエラーがでないこと、というルールを追加して再度チャレンジする必要があります。

ルールを見直す

https://github.com/ganyariya/misskey-mcp-server/pull/10 https://github.com/ganyariya/misskey-mcp-server/pull/11 https://github.com/ganyariya/misskey-mcp-server/issues/12

うまく動かなかったため、 clinerules を修正した これでもだめであれば、よりリファクタの方針を詳細に書いてなんとかしないといけないです。

go build -o misskey-mcp-server cmd/misskey-mcp-server/main.go 
cp misskey-mcp-server $HOME/go/bin/misskey-mcp-server  

https://github.com/ganyariya/misskey-mcp-server/pull/13

想定してたようなリファクタ内容ではなかったです。 原因としてはこちらから与える設計やおこなってもらいたいことが曖昧なのが原因だとおもいます。 他の API をつくっていくうえでファイル構成については再度リファクタしようとおもいます。

GitHub Actions で goreleaser を設定する

https://github.com/ganyariya/misskey-mcp-server/pull/17 https://github.com/ganyariya/misskey-mcp-server/pull/18 https://github.com/ganyariya/misskey-mcp-server/commit/f9456a548b1308f2f03c85e2df2304bf0e36bbb5

jules が賢くなく、 うまく actions が動きませんでした。 問題の究明と修正は Github Copilot Agent Mode になおしてもらいました。

API ごとの Issue を作ってもらう

README.md の MCP Tools Implementation Status に今の mcp tool の実装状況があります。
ここで、まだ未実装のものについて、各 mcp tool (endpoint) ごとに独立した GithubIssue を作ってもらえますか?
なお、英語に翻訳してつくってください。海外の人にも使ってもらうことを想定しているためです。

---
Template

Title: mcp-tool xyz(実際のmcp-tool名を記入) を実装する

.cursor/rules ディレクトリのファイルを必ず読んでからコーディングしてください。
以下を達成してほしいです

- mcp-tool xyz(実際のmcp-tool名を記入) を実装する
  - misskey endpoint: xyz (実際の misskey endpoint を記入)

すでに存在する実装 internal/misskey_tools/note/post_note.go などを参考にしてください。
コメントは冗長なので書かないでください。

Imgur Imgur

API を 1 つ実装してもらう

https://github.com/ganyariya/misskey-mcp-server/pull/48

上記で実装してもらった。

まとめ

  • Cursor Project Rules 便利
    • どのような条件で読み込ませられるか?を自動で cursor に判定させられる
    • ルール自体は docs/agent/xxx 配下に別途おいて Quartz や Docusaurus でデプロイしておくとよいのでは
      • docs/agent/xxx.cursor/rules で間接参照する
      • 他の AI においても使いやすくするため&デプロイするため
  • Jules はあまりかしこくない
    • 無料版で運用されているため、おそらくまだ強い AI が載せられていない
    • 今後強くなりそう
  • misskey-mcp-server はしばらく開発しなくてよいかな…
    • よく考えたら misskey を mcp で扱いたいことがない…
    • それよりは別の開発ツールを go + AIでつくったほうがよいかな