MCP-Server

saagarpatel.dev Portfolio

io.github.saagpatel/portfolio-mcp
Wissen & Dokumentation Suche & Recherche Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides read-only search and retrieval across a public personal portfolio corpus, projects, repository profiles, essays, book chapters, and benchmark results.

get_document
Get a document
Return the full Markdown of one document by id, e.g. "writing/the-handoff" or "book/preface". Get ids from search or list_corpus.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Document id, e.g. "book/preface"'}}, 'additionalProperties': False}
get_operant_results
Get OPERANT benchmark results
Return the public, sanitized OPERANT results: per-model operator-calibration-score (OCS) profiles, the headline figures, and the calibration-profiles (not a flat leaderboard) framing. Sourced from the published OPERANT mirror. Returns availability=false if no dataset was baked.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_profile
Get profile
Return Saagar Patel's profile: name, one-line summary, site, and the about / now / uses pages. Start here to understand who this is and what they work on.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_repo_profile
Get repo profile
Return one public-safe repo answering profile by repo_id, including purpose, safe commands, agent surfaces, proof refs, freshness, exclusions, limitations, and integrity metadata.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['repoId'], 'properties': {'repoId': {'type': 'string', 'minLength': 1, 'description': 'Repo profile id, e.g. "githubrepoauditor"'}}, 'additionalProperties': False}
list_corpus
List the corpus
List every document with its id, title, type, date, and word count, plus per-type counts. The table of contents for the whole site. Optionally filter by type.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'type': {'enum': ['essay', 'chapter', 'note', 'page'], 'type': 'string', 'description': 'Filter by content type'}}, 'additionalProperties': False}
list_projects
List projects
List the curated, public projects with stack, status, last-active date, and test/CI signals, plus anonymized portfolio-wide aggregates. Optionally filter by status.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max projects'}, 'status': {'type': 'string', 'description': 'Filter by status, e.g. "active" or "archived"'}}, 'additionalProperties': False}
list_repo_profiles
List repo profiles
List public-safe repo answering profiles with repo id, attention state, freshness, and proof counts. Profiles are static artifacts baked from saagarpatel.dev, not live repo health.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max profiles'}, 'attentionState': {'type': 'string', 'description': 'Filter by attention state, e.g. "active-infra" or "decision-needed"'}}, 'additionalProperties': False}
search
Search the writing corpus
Full-text (BM25) search across all essays, book chapters, and field notes. Returns ranked matches with a snippet, id, and canonical URL. Pass an id to get_document to read the full text.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Search terms'}, 'section': {'enum': ['essay', 'chapter', 'note', 'page'], 'type': 'string', 'description': 'Restrict to one content type'}}, 'additionalProperties': False}
Hinzugefügt
get_operant_results
17. September 2026 12:49
Hinzugefügt
get_repo_profile
17. September 2026 12:49
Hinzugefügt
list_repo_profiles
17. September 2026 12:49
Hinzugefügt
list_projects
17. September 2026 12:49
Hinzugefügt
get_profile
17. September 2026 12:49
Hinzugefügt
list_corpus
17. September 2026 12:49
Hinzugefügt
get_document
17. September 2026 12:49
Hinzugefügt
search
17. September 2026 12:49