mcpField
W
whoelse

whoelse

ローカル
github.com/beskvladimir-create開発ツール03 日前に更新

whoelse について

whoelseは、既存プロジェクトや不足機能を調べ、似たテーマに取り組む人を見つけるMCPサーバーです。マージ案や共同作業計画も作成し、連絡や公開の操作にはユーザーの承認が必要です。

主な機能

  1. 01GitHubで重複プロジェクトを検索
  2. 02プロジェクトの機能と不足点を比較
  3. 03マージ計画と著者向けメッセージの作成
  4. 04論文、コード、モデルから研究者を検索
  5. 05依頼の公開と共同研究者のマッチング

活用シーン

  1. 01開発開始前に既存プロジェクトを確認
  2. 02類似リポジトリに共通する不足機能を特定
  3. 03研究者間の共同作業案を準備
  4. 04同じ共同プロジェクトを望む人を探す

MCP 対応

MCPクライアントに`find_duplicates`、`propose_merge`、共同作業やマッチングのツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"beskvladimir-create-whoelse": {
"command": "uvx",
"args": [
"whoelse"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"WHOELSE_OPENALEX_KEY": "<WHOELSE_OPENALEX_KEY>",
"WHOELSE_MAILTO": "<WHOELSE_MAILTO>"
}
}
}
}
起動コマンドuvx whoelse
設定が必要な環境変数
GITHUB_TOKENシークレットOptional. Raises GitHub search limits; public_repo scope needed for publish_request, start_joint_work and the watcher.
WHOELSE_OPENALEX_KEYシークレットOptional. Free OpenAlex API key; without it you share a small per-IP daily budget.
WHOELSE_MAILTOOptional. Your email for OpenAlex's polite pool; sent nowhere else.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiwhoelse0.1.0

ツール

13

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
namestringはい
orcidanyいいえ
githubanyいいえ
huggingfaceanyいいえ
affiliation_hintstringいいえ

詳細

whoelse

一人で作らないでください。

エージェントに何かを作るよう頼めば、これで21回目です。どこかでは、すでに20人がそれを作っていて、それぞれが10個のスターを獲得し、さらに3人が今まさに同じものに取り組んでいます。彼らはお互いのことを知りません。

whoelseは、最初のコードを書く前に、すでに存在するもの、勝者、まだ誰も持っていないものを一度の呼び出しで提示します。そして、他のツールにはできない次の一歩、つまり小さなプロジェクトを一つにまとめる計画を立てます。すべての作者を参加者にするか、現在の作業があなたのものと重なっている人を見つけ、二人で作れるものを示し、最初のメッセージの下書きも作成します。あなたの許可なく送信されることはありません。

Claude、Cursor、Codex、または任意のMCPクライアント内で動作します。サインアップも、入力するプロフィールも、サーバーも不要です。無料です。

pip install git+https://github.com/beskvladimir-create/whoelse

whoelse:コードを1行書く前にエージェントが伝えること


問題

誰も、意図して一人で作業しているわけではありません。ただ、結果的にそうなってしまいます。公開しても何も起きず、作業に戻ります。あなたを引用したり、コードを試したり、次の論文を共同執筆したりするはずの人は、2つのタイムゾーンの向こうにいて、あなたの名前を聞いたこともありません。発見はカンファレンスと運に頼っていて、ほとんどの人はどちらにも恵まれません。

whoelseは、運を検索に置き換え、見つけたものを使って次の行動につなげます。

一人で作らないでください

アイデアチェッカーはすでにあります(idea-reality-mcpは、アイデアをGitHub、HN、npmに照らして評価し、「類似プロジェクトはこちらです」というところで終わります)。whoelseは、その先から始まります。エージェントにツールを作るよう頼んでみましょう。

Claude Codeのセッションをマシン間で同期するCLIを作ってください。

"a CLI that syncs Claude Code sessions across machines" exists at least 40 times. The leader is
tawanorg/claude-sync (320 stars, last pushed 2026-10-06); the other 39 have a median of 1.
Between them: end-to-end encryption, Cloudflare R2, git-backed sync, Google Drive, LAN sync,
Codex sessions, backup before the 30-day deletion. None of the 40 has a terminal UI, hooks,
an Obsidian export, mobile, or cost tracking.

Options: contribute the missing backend to claude-sync; build only what nobody has; or propose a
merge to the small ones (propose_merge).

(2026-11-08の実際の出力。認証なしのGitHub検索です。)

これがfind_duplicatesです。ツールが提供する製品ではなく、ツールが行う作業をもとにGitHubを検索し、実際に同じものであるものだけを残して順位付けし、機能マトリックスを作成します。つまり、誰が何を持ち、どれか1つだけが持っているものは何か、どこにもないものは何かを示します。判定は最初に、一文で提示されます。同じものを何百時間もかけて作り直すことも、そのためにトークンを消費することも、ここで防げます。

propose_mergeは、さらに一歩進みます。小規模な重複プロジェクトの集まりについて、統合計画を作成します(現在活動中のリーダーをベースにし、各リポジトリがREADMEから持ち寄るものを明記し、すべての作者に書き込みアクセス権を持つメンテナーになってもらい、何も削除せず、リリース日を決めます)。さらに、各作者が普段読んでいる自身のリポジトリに投稿するIssueの文面も作成します。Issueは、あなたが内容を確認して承認した後に限り、あなたのGitHubアカウントから一括で送信されます。誰かのプロジェクトへの参加を求めるのではなく、全員に一つのプロジェクトへの参加を呼びかけます。

GitHubの利用規約は、求められていない一斉送信を禁じています。常識的にも同じです。そのため、制限はコードに組み込まれています。提案ごとに、現在活動中のリポジトリは3〜15件、Issueの送信は1日に最大10件、送信間隔は3秒以上です。同じリポジトリには二度と送信しません(ローカルの記録簿で管理します)。アーカイブ済み、フォーク、非アクティブ、組織所有のリポジトリ、Issueが無効になっているリポジトリ、スターが1000個以上のリポジトリ、自分のリポジトリには送信しません。提案1件は会話ですが、40件はメーリングリストです。

エージェントの前に導入する

plugin/はClaude Codeプラグインです(MCPサーバーとdont-build-it-aloneスキル)。ユーザーが説明した内容の作成を始める前に、エージェントがfind_duplicatesを呼び出すようにします。Cursor、Codex、その他のMCPクライアントでは、同じスキルのテキストをルールファイルに追加します。ユーザーがすでに存在するものを知るのは、最初のコードが生成される前です。情報が役に立つのは、その瞬間だけです。

アイデアごとの実際の実行例をまとめたページは、 awesome-already-builtにあります。Claude Codeのセッション同期、arXiv MCPサーバー、LLM向けのPII匿名化、トークンコストのダッシュボード、Obsidianのサイトジェネレーター、RustでのDICOMなどです。Issueでアイデアを追加し、プルリクエストで自分の行を修正してください。

見知らぬ人同士をつなぐ仕組み

人を見つけるのは簡単なほうです。whoelse が取り組むのは難しいほうです。つまり、互いの存在を知らなかった二人が、すばやく一つの作業に取り組み始めることです。

1. 最初のメッセージを送る前に作業が始まります。 start_joint_work は、論文の概要、双方が発表した要旨をもとに下書きした第 1 節、各自がすでに発表した数値をまとめた比較表、双方のコードベースを参照する再現スクリプト、著者欄に記載された双方の名前、そして 14 日間の計画を含むリポジトリを作成します。相手には、すでに 3 分の 1 が完成した作業へのリンクが届きます。承諾するには、タイトルが「in」の Issue を作成します。断る場合は、何もしません。14 日後に一人で仕上げ、相手の研究を引用します。

2. メッセージを一切交わさずに相互マッチングします。 publish_request は、作りたいものを公開レジストリに登録します(公開 GitHub リポジトリ内の、一人につき 1 つの JSON ファイルです。当方でのアカウント登録もサーバーも不要です)。氏名とメールアドレスが公開されるため、エージェントがそのファイルを表示して、公開前に確認を求めます。同じ課題を抱えて whoelse をインストールした人は、あなたとマッチングされます。双方が同じ課題について同じ形式を希望している場合、監視役の一方(名前を並べ替えたときに先になる側)がリポジトリを作成して相手を招待し、双方にメールを送ります。もう一方の監視役はリポジトリが作成されたことを確認して承認するか、3 日間応答がなければ引き継ぎます。

3. 誰も待機列から漏れません。 今日マッチングが成立しなければ、whoelse はそのことを率直に伝えます。

リクエストを公開しました。ネットワーク内では 37 人が待機していますが、text-to-SQL に取り組む人はまだいません。参加者が現れると、作業が自動的に始まり、[email protected] にリンクが届きます。何もする必要はありません。whoelse を削除しないでください。

whoelse-watch --loop 6h を使うと、定期的に確認を続けます。リンクはメールで届きます(ご自身の SMTP、またはリポジトリの作成時に招待されたことを知らせる GitHub 独自の通知を利用します)。

4. 意図的に、見知らぬ人同士をつなぎます。 すでに一緒に発表している人は別に表示され、相手として提案されることはありません。あなたのものと ID が重複するリクエストは除外されます。相補的な資産は高く評価されます。たとえば、あなたのコードと相手のデータ、あるいは相手の論文とあなたのシステムです。

5. ファイルがあるだけで、誰かの名前を公開することはありません。 レジストリファイルは、見知らぬ人が書き込んだデータです。厳格なスキーマに準拠する必要があります。レジストリの CI は、ids.github がプルリクエストを作成したユーザーのログイン名と一致し、そのファイルが他人のものではない場合に限り、マージします。監視役がそのファイルに基づいて動作するのは、その GitHub プロフィールの表示名がファイル内の名前と一致する場合だけです。これでファイルがそのアカウントに属することは証明できますが、そのアカウントが記載された研究者本人であることまでは証明できません。そのため、共同リポジトリは非公開で作成され、そのアカウントが招待されます。相手が招待を承諾し、「in」と返答した後にのみ公開されます。相手から返事がなければ、一人で仕上げて、相手の名前は載せずにその研究を引用して公開します。すでに存在するリポジトリが上書きされることはありません。

利用できること

エージェントに次のように尋ねてください。

私のプロフィールを読み込んでください:Vladimir Beskorovainyi、ORCID 0009-0004-7005-6242。このほかに、誰が取り組んでいますか?

25 people are working on what Vladimir Beskorovainyi is working on (personal papers; archives; text classification).
4 can be written to today.

 0. Angelo La Gorga (Universidad Carlos III de Madrid): same problem: personal papers; active 2026-09.           reach: email
 1. Fabian Karl (Universität Ulm): same topic: computational and text analysis, text classification; active 2026-01. reach: email
 2. Lukas Galke (University of Southern Denmark): same topic: text classification; active 2026-01.                reach: email

Ada Example と比較メモを始めてください(説明用です。以下の名前は架空です)。

Repository: github.com/you/you-example-text-to-sql
  paper/paper.md     outline; section 1 drafted from both abstracts; table with published numbers
  repro/run.py       both methods, same data, same metric; each side fills its half
  PLAN.md            14 days to a preprint
  CITATION.cff       both names
Send this: three sentences, the link, one yes/no question. To: [email protected] (from her whoelse card)

リクエストを公開してください:12 月までに、非公開の企業データを対象とした text-to-SQL の比較メモを作成します。

Your request is published. 2 people are waiting in the network; 1 wants what you want: Ana Example
(illustration), text-to-sql, has a dataset you don't. Joint work can start now.

人を見つける方法

3つの方向から同時に探し、人物単位にまとめます。

方向情報源見つかる人
論文OpenAlex のキーワードとトピック。OpenAlex がまだインデックスしていないプレプリントは arXiv過去24か月に、取り組んでいる課題そのものについて論文を発表した人
コードGitHub のリポジトリ検索その課題に取り組んでいる人
モデルとデータHugging Face Hub重みやデータセットを公開した人(量子化版や再パッケージ版は除外されます)

GitHub のログイン、Hugging Face のアカウント、OpenAlex の著者情報は、所属先が同じ、論文からそのアカウントへのリンクがある、ウェブサイトが同じ、といった2つ目の根拠がある場合にのみ、同一人物としてまとめられます。名前が同じというだけでは別々のままとし、同姓同名の可能性があるとしてフラグを付けるため、ある人のメールアドレスが別の人の成果の隣に表示されることはありません。組織(企業の GitHub アカウントや研究室の Hugging Face アカウントなど)は識別して除外します。arXiv のコメントで自身のコードにリンクしている著者は自動的に紐付けられます。あなたも対象です。whoelse に名前を伝えれば、通常はアカウントも自動で見つかります。

同じ名前の人が複数いる場合、whoelse は推測しません。同姓同名の候補を表示し、ORCID または所属先の入力を求めます。

3つ目の検索経路では、GitHub のユーザーをフルネームで検索します。この検索結果が1つのアカウントだけで、そのリポジトリが同じ分野についている場合に限って使います。それ以外の場合は無視します。実データでは、ORCID に情報を残していない研究者のおよそ3人に1人を見つけます。

連絡を取る方法

本人が公開した情報だけを使い、連絡先には必ず出典を示します。

  • ORCID:公開メールアドレス、個人サイト、GitHub、Scholar、LinkedIn(公開範囲が限定されたメールアドレスは読み取りません)
  • GitHub プロフィール:公開メールアドレス、ウェブサイト
  • 本人のウェブサイト:whoelse カード(設置している場合)

arXiv の投稿者メールアドレスには決して触れません。arXiv の利用規約では、同意のない連絡への利用が禁止されています。こちらも使う必要はありません。

ネットワーク

公開 GitHub リポジトリ beskvladimir-create/whoelse-network に、people/ 以下の人物ごとの JSON ファイルを置きます。エージェントが、public_repo スコープを持つ GITHUB_TOKEN を使ってプルリクエストを作成するか、ファイルを書き込み、配置場所をあなたに伝えます。publish_request を再度呼び出すと、同じブランチ上のファイルが更新または更新日時の延長されます。リクエストの有効期限は3か月です。閲覧にアカウントは不要です。サーバーも登録手続きもありません。このリポジトリ自体がディレクトリです。レジストリ独自の CI と README は、このリポジトリの registry/ にあります。

whoelse-watch は実行のたびに最新の内容を読み込み(レジストリがキャッシュから配信されることはありません)、あなたのリクエストを他の全員のリクエストと照合します。同じ課題で同じ形式を求めている人が2人いると、ワークスペースを構築してリポジトリを作成し、相手を招待して、双方にメールを送ります。ペアごとに1回だけ実行し、各ステップの後に状態を保存します。cron または launchd から実行してください。

0 */6 * * *  whoelse-watch

カード:サーバーなしでつながるモード

次のファイルを自身のサイトの /.well-known/whoelse.json に置きます。

{
  "name": "Ada Example",
  "working_on": ["text-to-SQL on open-weight models", "schema linking"],
  "open_to": ["co-author", "joint benchmark", "talk together"],
  "contact": "[email protected]",
  "languages": ["en", "pt"],
  "updated": "2026-11-07"
}

whoelse を使う人には、あなたがつながっている、つまり連絡可能で、あなたが表明した内容に限って協力に応じる人として表示されます。双方がカードを持っていれば、同じ提案を作成するまであと joint_work_brief を1回呼び出すだけです。双方に同時に送る機能は今後のロードマップにあります。レジストリも、アカウントも、中央集約型の仕組みもありません。ウェブそのものがディレクトリです。make_card でカードを作成できます。

あなたの仲間

誰かを自分の仲間として決めた後(add_peer)、whoelse はその人が公開した成果を見守り、支援できるものがあれば知らせます。試してスターを付けるリポジトリ、引用したり議論したりする論文、あなたのデータで実行して結果を報告するモデルなどです。あなたに代わってスター、フォロー、いいねをすることはありません。GitHub は自動でのスターやフォローをランキング操作として扱っています。また、サークルが自らの評価を偽装しても、その中の人にとって何の価値もありません。

ツール

ツール内容
load_profileOpenAlex、arXiv、GitHub、Hugging Face、ORCID からあなたのプロフィールを読み込みます
find_overlaps最近の研究があなたと重なる人を、理由と公開連絡先とともにランキング形式で表示します
joint_work_brief1 人について、根拠、双方が持つもの、適合度と労力で順位付けした形式、共通の発表先を表示します
draft_outreach最初のメッセージの事実情報と構成を用意します。文面はあなたのエージェントが作成し、送信するのはあなたです
add_peer, remove_peer, whats_new_from_peersあなたの知り合いと、今月彼らが公開したもの
find_duplicates作る前に、既存のもの、成功した人、誰も持っていないものを確認します
propose_merge重複するプロジェクト群の統合計画と、著者ごとのイシューを 1 件提案します(あなたが承認した場合のみ送信します)
publish_requestネットワークへの参加申請です。作りたいもの、共同制作者、期限を指定します
start_joint_work作業の 3 分の 1 が済み、双方の名前が記載されたリポジトリを作成します
make_cardあなたの /.well-known/whoelse.json
list_knownこのマシン上のプロフィールと知り合い

インストール

pip install whoelse            # or: pip install git+https://github.com/beskvladimir-create/whoelse

Claude Code:claude mcp add whoelse -- whoelse

Claude Desktop、Cursor、Codex などでは、MCP 設定に次を追加します。

{ "mcpServers": { "whoelse": { "command": "whoelse" } } }

任意の環境変数:

変数効果
WHOELSE_OPENALEX_KEYopenalex.org/settings/api から取得できる無料キーです。設定しない場合、IP ごとの少量の日次利用枠を共有します
WHOELSE_MAILTOOpenAlex の礼儀正しい利用枠に使うあなたのメールアドレスです。それ以外には送信されません
GITHUB_TOKENGitHub 検索の上限を引き上げます(スコープは任意)。publish_request、start_joint_work、ウォッチャーには public_repo スコープが必要です
WHOELSE_SMTP_HOST, _PORT, _USER, _PASS, _FROMウォッチャーのメール設定です。あなた自身のアドレスから送信されます。設定しない場合、通知は ~/.whoelse/inbox/ に届きます
WHOELSE_HOMEプロフィール、知り合い、キャッシュの保存場所です(デフォルトは ~/.whoelse)

実行しないこと

  • あなたに代わって手紙を送信すること。下書きを送るのはあなた自身です。あなた自身のアドレスから、1 人ずつ送信します。 自動送信されるメッセージはウォッチャーによるものだけです。ネットワークに参加し、公開される内容を確認した後、あなたと確認済みの見知らぬ人に、公開リポジトリへのリンクを 1 回送信します。
  • 相手自身が公開していない連絡先を使用すること(相手の ORCID、GitHub、本人のカード、本人のレジストリファイル)。
  • あなたに代わってスターを付けたり、フォロー、いいね、投稿をしたりすること。
  • あなたが確認したレジストリファイルと、あなたが依頼した共同リポジトリを除き、あなたに関する情報をあなたのマシン以外の場所に保存すること。

自分の名前で初回実行

[email protected] python -m whoelse.scripts.first_run "Your Name" --orcid 0000-0000-0000-0000

人々の一覧、理由、それぞれに最適な形式、連絡方法を表示し、すべてを whoelse-first-run.json に保存します。何も送信されません。

開発

git clone https://github.com/beskvladimir-create/whoelse && cd whoelse
pip install -e ".[dev]"
pytest                                                      # offline, on recorded fixtures
WHOELSE_FIXTURES=tests/fixtures python -m whoelse.server    # offline demo server

データソース:OpenAlex(CC0)、arXiv(CC0 メタデータ)、ORCID 公開 API、GitHub、Hugging Face Hub。いずれもキーは不要です。

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。