Skip to main content
Glama

Opportunity MCP

一个模型上下文协议(MCP)服务器,允许任何 AI 助手搜索青年机会——包括奖学金、研究金、实习、会议和交流项目——这些机会均聚合自领先的机会发现网站。

PyPI version Python License: MIT Tests Refresh cron MCP Registry

状态: alpha (v0.1.x)。随着适配器的成熟,架构、工具界面和来源列表可能会发生变化。在生产环境中请锁定小版本号。


概述

依赖第三方奖学金聚合网站的学生通常需要打开十几个标签页,筛选数十条无关信息,并将截止日期复制到个人电子表格中——结果却因为没有聚合器提供可靠的截止日期跟踪而错过了申请窗口。Opportunity MCP 将这一工作流程简化为单一的对话式查询。

你: 查找欧洲全额资助的硕士奖学金,截止日期在未来 60 天内,且巴基斯坦公民有资格申请。

Claude: (返回一个去重后的结构化列表,实时从索引来源获取,按截止日期排序,每条记录都链接回原始文章。)

该服务器通过 stdio 在本地运行,提供一个 SQLite + FTS5 索引,该索引通过 CI 每六小时刷新一次,并通过 PyPI、官方 MCP 注册表和 Smithery 分发。


分发渠道

渠道

标识符

状态

PyPI

opportunity-mcp

✅ 已上线

MCP Registry

io.github.revolutionarybukhari/opportunity-mcp

✅ 已发布

Smithery

sayedhusnainhader/opportunity-mcp

✅ 已发布

GitHub

revolutionarybukhari/opportunity-mcp

真理来源

GitHub Releases

SQLite 数据库的 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。模型将可以使用以下六种工具。

Cursor, Windsurf, Continue 及其他 MCP 客户端

大多数客户端使用相同的 mcpServers 格式。将 command 指向 opportunity-mcp(在 pip 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

工具

该服务器公开了六种工具。每种工具都接受 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 参数可将刷新限制为单个站点。

type 可以是 scholarship(奖学金)、fellowship(研究金)、internship(实习)、conference(会议)、exchange(交流)、competition(竞赛)、grant(资助)、award(奖项)或 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

两个清晰的关注点分离:

  1. 适配器:知道如何读取一个站点并生成原始的 Opportunity 对象(经过 Pydantic 验证)。

  2. 查询引擎:对站点一无所知——它只搜索规范化的索引。

添加新来源通常只需一个 50 行代码的拉取请求(PR)。请参阅 docs/ADAPTER_GUIDE.md。完整的架构原理在 docs/ARCHITECTURE.md 中。


隐私与道德

  • 无用户跟踪。 所有查询均在本地处理;除了定期的源站点刷新外,没有任何数据离开用户的机器。

  • 所有索引数据均为公开数据。 摘要限制在 500 个字符以内,每条记录都链接回原始文章。

  • 礼貌标识。 HTTP User-Agent 包含项目 URL,以便网站所有者可以直接联系我们。

  • 保守的刷新节奏。 来源通过 CI 每六小时最多轮询一次,绝不在用户查询时轮询。

  • 应要求移除来源。 我们会在 24 小时内响应移除请求,无需协商。

  • 尊重 robots.txt 每个适配器在抓取前都会遵守 robots.txt


路线图

  • 第二阶段 — 国家、级别和语言感知提取(目前委托给 AI 客户端)。

  • 第三阶段 — 第一个 HTML 适配器(Youth Opportunities),更广泛的 Tier-2/Tier-4 来源覆盖。

  • 第四阶段 — 为偏好远程 MCP 服务器的客户端提供托管的 Streamable-HTTP 端点。

  • 第五阶段 — 可选的按保存配置生成的每周摘要。

带有 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 贡献者。

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