Opportunity MCP logo

Opportunity MCP

Search, inspect, sort, and refresh scholarships, fellowships, internships, and other youth opportunities through MCP.

Install Opportunity MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "opportunity-mcp": {
      "command": "uvx",
      "args": [
        "opportunity-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx opportunity-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 5d ago.

Overview

Opportunity MCP MCP server indexes youth opportunities from multiple discovery sites and exposes them to AI assistants over local stdio. Its SQLite and FTS5 index supports full-text search, opportunity details, newest listings, deadline tracking, source inspection, and on-demand refreshes. Reach for it when an agent needs to find scholarships, fellowships, internships, conferences, exchanges, or similar listings without manually checking several sites. The project is alpha software, and its source list and tool schema may change.

Use cases

  • Search for funded scholarships by topic and deadline
  • Find opportunities closing within a specified number of days
  • List the newest internships or conferences
  • Retrieve complete details for a known opportunity ID
  • Refresh one indexed source on demand

Key features

  • Full-text search with optional filters
  • SQLite and FTS5 local index
  • Deadline and newest-listing queries
  • Opportunity detail retrieval by ID
  • Source status and refresh metadata
  • Per-source or complete index refresh

Tools6

What Opportunity MCP lets your agent do. Expand a tool for its parameters.

Self-reported~123 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

5/5 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 10d ago via OSV.dev · opportunity-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit20d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed6Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Opportunity MCP works

What the Opportunity MCP MCP server does

Opportunity MCP MCP server turns a local index of publicly available youth opportunities into MCP tools for an AI assistant. The indexed content includes scholarships, fellowships, internships, conferences, exchange programs, competitions, grants, awards, and other listings. Records are collected from opportunity-discovery sites and link back to their original articles.

The current live RSS sources include Opportunities Corners, Opportunities for Youth, Opportunity Desk, Scholarships Corner, Opportunities Circle, Opportunities for Africans, and Scholars4Dev. Youth Opportunities and After School Africa are listed as planned HTML adapters rather than active sources.

How it works

The server runs locally and communicates over stdio. A FastMCP layer receives tool calls and queries a SQLite database using FTS5 for text search. Separate source adapters fetch and normalize listings into validated opportunity records, while the query layer works against the normalized index rather than individual websites.

The index is refreshed through a scheduled process at most every six hours, and users can also request a refresh through the server. Queries are processed on the user's machine; the only external requests described by the project are periodic fetches from source sites. Source adapters respect robots.txt, identify themselves with a project URL, and cap summaries at 500 characters.

Setup and configuration

Install the package from PyPI, then build the local index once with opportunity-mcp-refresh. Configure an MCP client to launch opportunity-mcp as its command. Clients that support uvx can instead run uvx opportunity-mcp without a separate local installation step.

For development, clone the repository, run uv sync or install the editable development package, build the index with uv run opportunity-mcp-refresh, and start the server with uv run opportunity-mcp. The documented transport is local stdio; a hosted Streamable HTTP endpoint is planned, not described as currently available.

Tools and capabilities

The Opportunity MCP MCP server exposes six JSON-based tools with Pydantic-typed results:

  • search_opportunities performs full-text searches with optional opportunity type, funding, deadline, and result-limit filters.
  • get_opportunity returns the complete record for a supplied opportunity ID.
  • list_latest returns recently posted opportunities, optionally filtered by type.
  • list_upcoming_deadlines finds listings closing within a specified number of days and sorts them by deadline.
  • list_sources reports indexed sources, item counts, and their latest refresh timestamps.
  • refresh_index fetches sources again, optionally limiting the operation to one source.

Supported types are scholarship, fellowship, internship, conference, exchange, competition, grant, award, and other. Country, education level, and language filtering are not currently built into the server; the roadmap says those fields are currently delegated to the AI client.

Limitations and notes

This is alpha software at version 0.1.x. The schema, tool surface, and source list can change as adapters develop, so the README recommends pinning a minor version in production. Source coverage is dependent on the listed sites and their feeds. In particular, the Scholars4Dev adapter is live but its upstream feed is currently empty, while the two HTML sources remain planned.

The server is designed for local use and does not provide a hosted remote endpoint yet. It does not offer saved profiles or weekly digests; those are roadmap items. Indexed data is public, and source removals requested by site owners are intended to be honored within 24 hours.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Opportunity MCP

Opportunity MCP is an MCP server that connects AI assistants to a local SQLite + FTS5 index of youth opportunities from indexed discovery sites. It provides search_opportunities, get_opportunity, list_latest, list_upcoming_deadlines, list_sources, and refresh_index for searching, retrieving, sorting, inspecting, and refreshing records.

Install it with `pip install opportunity-mcp`, build the local index with `opportunity-mcp-refresh`, and configure your MCP client to launch `opportunity-mcp`. You can also use `uvx opportunity-mcp` in clients that support uvx, or install from source with `uv sync`.

Add an `mcpServers` entry that points to the installed `opportunity-mcp` command, or configure `uvx` with `opportunity-mcp` as its argument.

Run `opportunity-mcp-refresh` for the local index, or call the `refresh_index` tool from an MCP client. The tool accepts an optional `source` argument when you want to refresh only one indexed site.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpportunity MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/opportunity-mcp?style=directory)](https://allmcps.com/mcp/opportunity-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/opportunity-mcp"><img src="https://allmcps.com/api/badge/opportunity-mcp?style=directory" alt="Opportunity MCP on AllMCPs" /></a>