saagarpatel.dev Portfolio
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWget_repo_profile에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"portfolio-mcp": {
"command": "npx",
"args": [
"saagar-portfolio-mcp"
]
}
}
}실행 가능한 패키지
0.1.0stdio원격 엔드포인트
https://mcp.saagarpatel.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢search(query, section, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Search terms"
},
"section": {
"type": "string",
"enum": [
"essay",
"chapter",
"note",
"page"
],
"description": "Restrict to one content type"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Max results (default 10)"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_document(id)
Return the full Markdown of one document by id, e.g. "writing/the-handoff" or "book/preface". Get ids from search or list_corpus.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Document id, e.g. \"book/preface\""
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_corpus(type)
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.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"essay",
"chapter",
"note",
"page"
],
"description": "Filter by content type"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_projects(status, limit)
List the curated, public projects with stack, status, last-active date, and test/CI signals, plus anonymized portfolio-wide aggregates. Optionally filter by status.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Filter by status, e.g. \"active\" or \"archived\""
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max projects"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_repo_profiles(attentionState, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"attentionState": {
"type": "string",
"description": "Filter by attention state, e.g. \"active-infra\" or \"decision-needed\""
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Max profiles"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_repo_profile(repoId)
Return one public-safe repo answering profile by repo_id, including purpose, safe commands, agent surfaces, proof refs, freshness, exclusions, limitations, and integrity metadata.
입력 스키마
{
"type": "object",
"properties": {
"repoId": {
"type": "string",
"minLength": 1,
"description": "Repo profile id, e.g. \"githubrepoauditor\""
}
},
"required": [
"repoId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_operant_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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거