Skip to main content
Glama

Opportunity MCP

主要な機会発見サイトからライブで集約された、若者向けの機会(奨学金、フェローシップ、インターンシップ、カンファレンス、交換留学プログラム)をAIアシスタントが検索できるようにするModel Context Protocolサーバー。

PyPI version Python License: MIT Tests Refresh cron MCP Registry

ステータス: アルファ (v0.1.x)。アダプターの成熟に伴い、スキーマ、ツールインターフェース、ソースリストが変更される可能性があります。本番環境ではマイナーバージョンを固定してください。


概要

サードパーティの奨学金アグリゲーターサイトに依存している学生は、通常10個以上のタブを開き、何十もの無関係な投稿を精査し、締め切りを個人のスプレッドシートにコピーしていますが、信頼できる締め切り追跡を提供するアグリゲーターがないため、結局応募期間を逃してしまいます。Opportunity MCPは、そのワークフローを単一の会話型クエリに集約します。

あなた: パキスタン市民が応募可能な、今後60日以内に締め切りを迎えるヨーロッパの全額支給修士奨学金を探して。

Claude: (インデックスされたソースからライブで取得し、重複排除および構造化されたリストを締め切り順に返し、それぞれが元の記事にリンクしています。)

このサーバーはstdio経由でローカルで実行され、CIを通じて6時間ごとに更新されるSQLite + FTS5インデックスを出荷し、PyPI、公式MCPレジストリ、およびSmitheryを通じて配布されます。


配布チャネル

チャネル

識別子

ステータス

PyPI

opportunity-mcp

✅ ライブ

MCP Registry

io.github.revolutionarybukhari/opportunity-mcp

✅ 公開済み

Smithery

sayedhusnainhader/opportunity-mcp

✅ 公開済み

GitHub

revolutionarybukhari/opportunity-mcp

真実のソース

GitHub Releases

SQLite DBのindex-Nスナップショット、6時間ごとに更新

CIにより自動公開


インストール

Claude Desktop

pip install opportunity-mcp
opportunity-mcp-refresh           # build the local index (one-off, ~30 seconds)

claude_desktop_config.jsonに以下を追加します:

{
  "mcpServers": {
    "opportunities": {
      "command": "opportunity-mcp"
    }
  }
}

Claude Desktopを再起動します。以下の6つのツールがモデルで使用可能になります。

Cursor、Windsurf、Continue、およびその他のMCPクライアント

ほとんどのクライアントは同じmcpServers形式を使用します。commandopportunity-mcppip install後)に向けるか、インストール不要のuvxを使用してください:

{
  "mcpServers": {
    "opportunities": {
      "command": "uvx",
      "args": ["opportunity-mcp"]
    }
  }
}

Smithery(ワンクリックインストール)

https://smithery.ai/server/sayedhusnainhader/opportunity-mcp — Smitheryがインストールコマンドを代行します。

ソースから

git clone https://github.com/revolutionarybukhari/opportunity-mcp
cd opportunity-mcp
uv sync                           # or: pip install -e ".[dev]"
uv run opportunity-mcp-refresh
uv run opportunity-mcp            # speaks MCP over stdio

ツール

サーバーは6つのツールを公開しています。それぞれがJSON引数を受け取り、Pydantic型の結果を返します。

ツール

シグネチャ

説明

search_opportunities

(query, type?, funded_only?, deadline_before?, limit=20)

オプションのフィルターを使用して、インデックスされたすべての機会を全文検索します。

get_opportunity

(id)

IDを指定して、単一の機会の詳細を取得します。

list_latest

(type?, limit=20)

投稿日順に並べ替えられた、すべてのソースにわたる最新の機会。

list_upcoming_deadlines

(within_days=30, type?)

締め切り順に並べ替えられた、N日以内に締め切る機会。

list_sources

()

インデックスされたソース、アイテム数、最終更新タイムスタンプを一覧表示します。

refresh_index

(source?)

オンデマンドでソースを再取得します。オプションのsource引数で、更新を1つのサイトに限定できます。

typescholarshipfellowshipinternshipconferenceexchangecompetitiongrantaward、またはotherのいずれかです。


インデックスされたソース

各サイトのRSSフィードに対してライブで検証済み。

ソース

メカニズム

ステータス

Opportunities Corners

RSS

✅ ライブ

Opportunities for Youth

RSS

✅ ライブ

Opportunity Desk

RSS

✅ ライブ

Scholarships Corner

RSS

✅ ライブ

Opportunities Circle

RSS

✅ ライブ

Opportunities for Africans

RSS

✅ ライブ

Scholars4Dev

RSS

✅ アダプターライブ(フィードは現在空)

Youth Opportunities

HTML

計画中

After School Africa

HTML

計画中

ソースごとのrobots.txtへの準拠、利用規約の注意点、CIの癖についてはdocs/SOURCES.mdに記載されています。


プロンプト例

Find fully-funded master's scholarships in Europe with deadlines in the next 60 days.

What conferences are happening in Africa in the next three months?

List the ten newest internships indexed today.

Show me everything closing in the next seven days that an undergraduate could apply to.

Get full details for opportunity 7733b95a81e3239d.

アーキテクチャ

AI client  ──MCP──▶  FastMCP server  ──▶  SQLite + FTS5  ◀──  refresh job  ──▶  source adapters  ──▶  opportunity sites

2つの明確な関心の分離:

  1. アダプターは、1つのサイトを読み取り、生のOpportunityオブジェクト(Pydanticで検証済み)を生成する方法を知っています。

  2. クエリエンジンはサイトについて何も知らず、正規化されたインデックスを検索します。

新しいソースの追加は、通常50行程度のプルリクエストで済みます。docs/ADAPTER_GUIDE.mdを参照してください。完全なアーキテクチャの根拠はdocs/ARCHITECTURE.mdにあります。


プライバシーと倫理

  • ユーザー追跡なし。 すべてのクエリはローカルで処理され、定期的なソースサイトの更新以外にユーザーのPCからデータが送信されることはありません。

  • インデックスされたデータはすべて公開情報。 要約は500文字に制限されており、すべてのレコードは元の記事にリンクしています。

  • 丁寧な識別。 HTTPのUser-AgentにはプロジェクトURLが含まれており、サイト所有者が直接連絡を取れるようになっています。

  • 保守的な更新頻度。 ソースはCIを通じて最大6時間ごとにポーリングされ、ユーザーのクエリ時には行われません。

  • リクエストによるソース削除。 交渉なしで24時間以内に対応します。

  • robots.txtの尊重。 すべてのアダプターが取得前に遵守します。


ロードマップ

  • フェーズ2 — 国、レベル、言語を認識した抽出(現在はAIクライアントに委任)。

  • フェーズ3 — 初のHTMLアダプター(Youth Opportunities)、より広範なTier-2/Tier-4ソースのカバー。

  • フェーズ4 — リモートMCPサーバーを好むクライアント向けのホスト型Streamable-HTTPエンドポイント。

  • フェーズ5 — 保存されたプロファイルによるオプションの週次ダイジェスト。

add a sourceラベルが付いたオープンな課題は、最初の貢献として最適です。


貢献

プルリクエストを歓迎します。最も早い貢献方法は、まだインデックスしていないソースを追加することです。docs/ADAPTER_GUIDE.mdを読んでPRを開いてください。開発セットアップ、テストの慣習、行動規範についてはdocs/CONTRIBUTING.mdを参照してください。

git clone https://github.com/revolutionarybukhari/opportunity-mcp
cd opportunity-mcp
uv sync
uv run pytest
uv run ruff check .

ライセンス

MIT © Opportunity MCP Contributors.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
10Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/revolutionarybukhari/opportunity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server