Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Return the full Markdown of one document by id, e.g. "writing/the-handoff" or "book/preface". Get ids from search or list_corpus.
Document id, e.g. "book/preface"
Return the full Markdown of one document by id, e.g. "writing/the-handoff" or "book/preface". Get ids from search or list_corpus.
| Argument | Type | Description |
|---|---|---|
| id* | string | Document id, e.g. "book/preface" |
{
"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
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Return one public-safe repo answering profile by repo_id, including purpose, safe commands, agent surfaces, proof refs, freshness, exclusions, limitations, and integrity metadata.
| Argument | Type | Description |
|---|---|---|
| repoId* | string | Repo profile id, e.g. "githubrepoauditor" |
{
"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 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.
| Argument | Type | Description |
|---|---|---|
| type | string | Filter by content type |
{
"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 the curated, public projects with stack, status, last-active date, and test/CI signals, plus anonymized portfolio-wide aggregates. Optionally filter by status.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max projects |
| status | string | Filter by status, e.g. "active" or "archived" |
{
"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 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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max profiles |
| attentionState | string | Filter by attention state, e.g. "active-infra" or "decision-needed" |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results (default 10) |
| query* | string | Search terms |
| section | string | Restrict to one content type |
{
"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
}