opportunity-mcp
Opportunity MCP
주요 기회 탐색 사이트에서 실시간으로 집계된 장학금, 펠로우십, 인턴십, 컨퍼런스, 교환 프로그램 등 청년 기회를 모든 AI 어시스턴트가 검색할 수 있게 해주는 모델 컨텍스트 프로토콜(MCP) 서버입니다.
상태: 알파 (
v0.1.x). 어댑터가 성숙해짐에 따라 스키마, 도구 인터페이스 및 소스 목록이 변경될 수 있습니다. 프로덕션 환경에서는 마이너 버전을 고정하여 사용하세요.
개요
타사 장학금 집계 사이트에 의존하는 학생들은 일반적으로 10개 이상의 탭을 열고, 수십 개의 관련 없는 게시물을 걸러내며, 마감일을 개인 스프레드시트에 복사해야 합니다. 하지만 어떤 집계 사이트도 신뢰할 수 있는 마감일 추적 기능을 제공하지 않아 지원 시기를 놓치기 일쑤입니다. Opportunity MCP는 이러한 워크플로우를 단일 대화형 쿼리로 통합합니다.
사용자: 파키스탄 시민이 지원할 수 있는, 마감일이 60일 이내인 유럽의 전액 장학금 석사 과정을 찾아줘.
Claude: (인덱싱된 소스에서 실시간으로 가져온 중복 제거된 구조화된 목록을 마감일 순으로 반환하며, 각 항목은 원본 기사로 연결됩니다.)
이 서버는 stdio를 통해 로컬에서 실행되며, CI를 통해 6시간마다 새로 고쳐지는 SQLite + FTS5 인덱스를 제공합니다. 또한 PyPI, 공식 MCP 레지스트리 및 Smithery를 통해 배포됩니다.
배포 채널
채널 | 식별자 | 상태 |
PyPI |
| ✅ 라이브 |
MCP Registry |
| ✅ 게시됨 |
Smithery |
| ✅ 게시됨 |
GitHub | 진실의 원천 | |
GitHub Releases | 6시간마다 새로 고쳐지는 SQLite DB의 | 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 형태를 사용합니다. (pip install 후) command를 opportunity-mcp로 지정하거나 설치가 필요 없는 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 타입의 결과를 반환합니다.
도구 | 서명 | 설명 |
|
| 선택적 필터를 사용하여 인덱싱된 모든 기회를 전체 텍스트로 검색합니다. |
|
| ID를 사용하여 단일 기회에 대한 전체 세부 정보를 검색합니다. |
|
| 게시 날짜순으로 정렬된 모든 소스의 최신 기회입니다. |
|
| 마감일 순으로 정렬된 |
|
| 인덱싱된 소스, 항목 수 및 마지막 새로 고침 타임스탬프를 나열합니다. |
|
| 요청 시 소스를 다시 가져옵니다. 선택적 |
type은 scholarship, fellowship, internship, conference, exchange, competition, grant, award 또는 other 중 하나입니다.
인덱싱된 소스
각 사이트의 RSS 피드를 통해 실시간으로 검증됩니다.
소스 | 메커니즘 | 상태 |
RSS | ✅ 라이브 | |
RSS | ✅ 라이브 | |
RSS | ✅ 라이브 | |
RSS | ✅ 라이브 | |
RSS | ✅ 라이브 | |
RSS | ✅ 라이브 | |
RSS | ✅ 어댑터 라이브 (현재 업스트림 피드 비어 있음) | |
HTML | 계획됨 | |
HTML | 계획됨 |
소스별 robots.txt 준수 여부, 서비스 약관(ToS) 참고 사항 및 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두 가지 명확한 관심사 분리:
어댑터는 사이트를 읽고 원시
Opportunity객체(Pydantic 검증됨)를 생성하는 방법을 알고 있습니다.쿼리 엔진은 사이트에 대해 아무것도 모르며, 정규화된 인덱스를 검색합니다.
새 소스를 추가하는 것은 일반적으로 50줄 정도의 풀 리퀘스트입니다. docs/ADAPTER_GUIDE.md를 참조하세요. 전체 아키텍처 근거는 docs/ARCHITECTURE.md에 있습니다.
개인정보 보호 및 윤리
사용자 추적 없음. 모든 쿼리는 로컬에서 처리되며, 주기적인 소스 사이트 새로 고침을 제외하고는 사용자의 컴퓨터에서 외부로 나가는 데이터가 없습니다.
모든 인덱싱된 데이터는 공개됨. 요약은 500자로 제한되며 모든 레코드는 원본 기사로 연결됩니다.
정중한 식별. HTTP
User-Agent에 프로젝트 URL이 포함되어 있어 사이트 소유자가 직접 연락할 수 있습니다.보수적인 새로 고침 주기. 소스는 사용자 쿼리 시점이 아닌 CI를 통해 최대 6시간마다 폴링됩니다.
요청 시 소스 제거. 협상 없이 24시간 이내에 처리됩니다.
robots.txt준수. 모든 어댑터는 데이터를 가져오기 전에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 기여자.
Maintenance
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