{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_55f5bvjsvyux","handle":"aiarchitect-blog-mcp","url":"https://wellknown.network/agents/aiarchitect-blog-mcp","links":{"self":"https://wellknown.network/agents/aiarchitect-blog-mcp/record.json","html":"https://wellknown.network/agents/aiarchitect-blog-mcp","markdown":"https://wellknown.network/agents/aiarchitect-blog-mcp/record.md","api":"https://wellknown.network/api/v1/agents/aiarchitect-blog-mcp","status":"https://wellknown.network/api/v1/agents/aiarchitect-blog-mcp/status","claim":"https://wellknown.network/agents/aiarchitect-blog-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/aiarchitect-blog-mcp/claim.json","badge":"https://wellknown.network/agents/aiarchitect-blog-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/aiarchitect-blog-mcp/history","tools":"https://wellknown.network/api/v1/agents/aiarchitect-blog-mcp/tools"},"ard":{"identifier":"urn:air::server:aiarchitect-blog-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"aiarchitect-blog-mcp","summary":"MCP server that exposes the AI아키텍트 (aiarchitect.tistory.com) technical blog — 69 articles — as searchable tools for AI agents.","description":"# AI아키텍트 블로그 MCP 서버\n\n[aiarchitect.tistory.com](https://aiarchitect.tistory.com/) 의 공개 기술 블로그(현재 번들 **69편 규모**)를\n**MCP(Model Context Protocol) 도구**로 노출합니다. Claude·Cursor 등 MCP 클라이언트에 붙이면\nAI 에이전트가 MCP·AI Agent·엔터프라이즈 아키텍처·보안·RAG/LLM 주제의 한국어 장문 기술 글을\n바로 검색·열람할 수 있습니다.\n\n> 💡 목록·검색·본문 응답에 **원문(정식 게시글) URL**이 실려, 에이전트의 답변에 출처 링크가 남을\n> 가능성을 높입니다(추천 유입). ※ 정식 게시 URL이 없는 글은 **fail-closed로 목록·검색·본문에서\n> 제외**되어, 홈 URL 폴백이 오도성 출처 링크로 노출되지 않습니다(현재 번들 69편 전부 정식 게시글).\n\n> 🔒 **읽기 전용 서버**: 5개 도구 모두 로컬 번들 코퍼스만 읽습니다(쓰기·외부 호출·부작용 없음).\n> 각 도구에 `readOnlyHint`가 선언돼 있고, `limit`/`offset` 등 입력은 범위 밖 값·잘못된 타입을\n> 방어적으로 클램프합니다.\n\n## 🔧 제공 도구\n\n| 도구 | 설명 |\n|------|------|\n| `list_categories()` | 분류(7종)와 각 편수 |\n| `list_articles(category?, limit?, offset?)` | 글 목록(분류 필터·페이지네이션) |\n| `search_articles(query, category?, limit?)` | 제목·설명·태그·본문 키워드 검색(랭킹·스니펫) |\n| `get_article(article_id)` | 전체 본문(마크다운) + 원문 URL(출처 링크) |\n| `blog_home()` | 블로그 홈 URL·제공 편수 |\n\n## 🚀 설치\n\n### Claude Code\n```bash\nclaude mcp add aiarchitect-blog -- uvx aiarchitect-blog-mcp\n```\n\n### Claude Desktop / Cursor (`mcp.json`)\n```json\n{\n  \"mcpServers\": {\n    \"aiarchitect-blog\": {\n      \"command\": \"uvx\",\n      \"args\": [\"aiarchitect-blog-mcp\"]\n    }\n  }\n}\n```\n\n`uvx`가 없으면 [uv](https://docs.astral.sh/uv/)를 설치하거나 `pipx run aiarchitect-blog-mcp` 를 사용하세요.\n\n## 🛠️ 로컬 개발\n\n```bash\nuv sync                              # 의존성 설치\nuv run python scripts/build_index.py /path/to/blogs  # 블로그 md → data/articles_index.json + 본문 번들\nuv run pytest -q                     # 파서·검색 골든 테스트\nuv run aiarchitect-blog-mcp          # stdio 서버 실행\n```\n\n`build_index.py`는 소스 블로그 마크다운 디렉터리(파일명 형식 `NN-*.md`)를 인자로 받습니다:\n`uv run python scripts/build_index.py /path/to/blogs`.\n\n## 📚 다루는 주제\n\nMCP 설계·OAuth 2.1·원격 MCP · AI Agent 보안/감사 · RAG·STT·화자분리 · 멀티플랫폼 SDK 아키텍처 ·\n골든 테스트·시크릿 가드 등. 전체 목록은 [블로그](https://aiarchitect.tistory.com/)에서 확인하세요.\n\n## 📄 라이선스\n\n패키지 SPDX 표현식: **`MIT AND LicenseRef-AIArchitect-Articles`**\n\n- **코드(SOURCE CODE): MIT** — 자세한 내용은 [`LICENSE`](LICENSE).\n- **번들된 글 본문: …","publisher":{"name":"AI아키텍트","url":null},"homepage":"https://aiarchitect.tistory.com/","repository":"https://github.com/aiarchitecturedev/aiarchitect-blog-mcp/issues","version":"0.1.1","license":null,"protocols":["mcp"],"tags":["ai-agent","ai-architecture","blog","mcp","model-context-protocol","rag"],"pricing":null,"endpoints":[{"url":"pypi:aiarchitect-blog-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"declared"}],"categories":["data"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"aiarchitect-blog-mcp","registry":"pypi","observedAt":"2026-11-08T22:25:05.357Z","publishedAt":"2026-08-11T14:32:52.474538Z","latestVersion":"0.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"aiarchitect-blog-mcp","url":"https://pypi.org/project/aiarchitect-blog-mcp/","firstSeenAt":"2026-09-09T08:21:32.968Z","fetchedAt":"2026-11-08T22:24:06.302Z","normalizedAt":"2026-11-08T22:24:06.302Z"}]},"firstSeenAt":"2026-09-09T08:21:32.968Z","updatedAt":"2026-11-08T22:25:05.357Z"}