Markdown Source Graph MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Markdown Source Graph MCPsearch my markdown knowledge base for Docker setup instructions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Markdown Source Graph MCP
๐ ์น์ฌ์ดํธ์์ ๋ณด๊ธฐ
์ฒ์ ๋ฐฉ๋ฌธํ๋ค๋ฉด ์ฌ๊ธฐ๋ถํฐ ์์ํ์ธ์: ํ๋ก์ ํธ ์๊ฐยท๋๊ตฌ ๋ชฉ๋กยท์ค์น ์์ ์ด๊ธฐ โ

Agent Docs for Markdown์ด ๋ง๋ ๋ก์ปฌ Source Graph๋ฅผ Codex, Claude Code, Gemini CLI์์ ๊ฒ์ ๋๊ตฌ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ Docker ๊ธฐ๋ฐ MCP ์๋ฒ์ ๋๋ค.

Markdown ์๋ฌธ๊ณผ .mps/source-graph.sqlite๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธ๋ฉ๋๋ค. ์๋ฒ๋ ๋ฌธ์๋ฅผ ์์ ํ์ง
์๊ณ , ๊ฒ์์ฉ ์บ์๋ง ๋ณ๋์ Docker ๋ณผ๋ฅจ์ ์ ์ฅํฉ๋๋ค.
Related MCP server: search-docs
๋จผ์ ์ฝ์ ๋ฌธ์
์ฒ์ ์ค์น๋ถํฐ Codex ๋ฑ๋ก๊น์ง: GETTING_STARTED.md
Single, Hub, ์ค๋ฅ ๋ฐ ์ค์ E2E ๊ฒ์ฆ: SCENARIOS.md
์ ์ฅ์์์ ์์ ํ๋ ์์ด์ ํธ ์ง์นจ: AGENTS.md
GitHub Pages ์๋ด ์ฌ์ดํธ ์ด์: docs/github-pages.md
์ ๊ณตํ๋ ๊ธฐ๋ฅ
MCP ๋๊ตฌ | ์ฉ๋ |
| ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ๊ฒ์ํ๊ณ ๊ฒฝ๋ก, excerpt, heading์ ๋ฐํ |
| ์ฌ๋ฌ ์ํฌ์คํ์ด์ค๋ฅผ ๋์์ ๊ฒ์ |
| ์ง๋ฌธ์ ๊ฐ ๋ฃจํธ์ ๋์ ํด ์ ํฉํ ์ํฌ์คํ์ด์ค ํ๋ณด์ ๊ทผ๊ฑฐ ๋ฐํ |
| ๊ฒ์ ๊ฒฐ๊ณผ์ Markdown์ ์ง์ ํ ์ค ๋ฒ์๋ง ์ฝ๊ธฐ |
| ๋ฌธ์์ ๋งํฌ์ backlink๋ฅผ Source Graph์์ ์กฐํ |
| ์ฐ๊ฒฐ๋ ์ํฌ์คํ์ด์ค์ ์ธ๋ฑ์ค ์ํ ํ์ธ |
| Source Graph ์ข ๋ฅ, ๋ฌธ์ ์, ์บ์ ์ต์ ์ฑ ํ์ธ |
| ํ์ฌ |
๊ฒ์ํ ๋ Source Graph ํ์ผ์ด ๋ฐ๋ ๊ฒ์ด ๊ฐ์ง๋๋ฉด ๊ฒ์ ์บ์๋ ์๋์ผ๋ก ๊ฐฑ์ ๋ฉ๋๋ค.
์ ์ฒด ํ๋ฆ
๊ฐ ์ํฌ์คํ์ด์ค์ Agent Docs for Markdown์ด ์์ฒด .mps/source-graph.sqlite๋ฅผ ๋ง๋ญ๋๋ค.
์ฌ๋ฌ ๊ทธ๋ํ๋ฅผ ํ๋์ MCP์์ ์ฌ์ฉํ๋ ค๋ฉด ์๋์ Hub ๋๋ Named Multi-root ๋ชจ๋๋ก
ํ์ฉํ ์ํฌ์คํ์ด์ค๋ฅผ ์ค์ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋ root_id๋ก ํ๋๋ฅผ ๊ณ ๋ฅด๊ฑฐ๋
search_all_markdown์ผ๋ก ์ฌ๋ฌ ๋ฃจํธ๋ฅผ ํจ๊ป ๊ฒ์ํ ์ ์์ต๋๋ค.
์ค๋น ์ฌํญ
Docker Desktop ๋๋ Docker Engine + Compose
VS Code
๊ฒ์ํ Markdown ์ํฌ์คํ์ด์ค
1. Agent Docs ํ์ฅ ์ค์น์ Source Graph ์์ฑ
VS Code์์ Marketplace๋ฅผ ์ด๊ณ Agent Docs for Markdown์ ์ค์นํ๊ฑฐ๋ ๋ค์ ๋ช
๋ น์ ์คํํฉ๋๋ค.
code --install-extension datanewbie-labs.markdown-agent-docs๊ทธ๋ค์ ๊ฒ์ํ Markdown ํด๋๋ฅผ VS Code์ ์ํฌ์คํ์ด์ค๋ก ์ฝ๋๋ค.
Activity Bar์์ Agent Docs๋ฅผ ์ฝ๋๋ค.
Open Graph ๋๋ ๋ช ๋ น ํ๋ ํธ์
Agent Docs: Open Source Graph๋ฅผ ์คํํฉ๋๋ค.์ฒ์์ด๋ผ๋ฉด
Agent Docs: Initialize Source Graph๋ฅผ ์คํํฉ๋๋ค.Start Graph๋ก ์ฒซ ์ธ๋ฑ์ค๋ฅผ ์์ฑํฉ๋๋ค.
์ํฌ์คํ์ด์ค์ ์๋ ํ์ผ์ด ์๊ฒผ๋์ง ํ์ธํฉ๋๋ค.
<markdown-workspace>/.mps/source-graph.sqlite๋ถํ์ํ ํด๋๋ .mps/.mpsignore์์ ์ ์ธํ ์ ์์ต๋๋ค. ํ์ฅ์ Markdown ์ ์ฅ ์ Source Graph๋ฅผ
์๋ ๊ฐฑ์ ํ ์ ์์ผ๋ฉฐ, ์ด MCP๋ ๊ฐฑ์ ๋ SQLite์ ๋ณ๊ฒฝ ์๊ฐ์ ๊ฐ์งํด ๋ค์ ๊ฒ์ ์ ์ ์บ์๋ฅผ ๋ค์
๊ฐ์ ธ์ต๋๋ค.
2. ์ ์ฅ์ ํด๋ก
git clone https://github.com/sungreong/markdown-source-graph-mcp.git
cd markdown-source-graph-mcp3. ์ํฌ์คํ์ด์ค ๊ฒฝ๋ก ์ค์
.env.example์ .env๋ก ๋ณต์ฌํฉ๋๋ค.
Copy-Item .env.example .env.env์ ๊ฒฝ๋ก๋ฅผ ์ค์ Markdown ์ํฌ์คํ์ด์ค๋ก ๋ฐ๊ฟ๋๋ค. Windows์์๋ ์ญ์ฌ๋์๋ณด๋ค /๋ฅผ
๊ถ์ฅํฉ๋๋ค.
MARKDOWN_MCP_MODE=single
MARKDOWN_MOUNT_SOURCE=C:/Users/you/Documents/my-markdown-workspace
MARKDOWN_PUBLIC_PATH=C:/Users/you/Documents/my-markdown-workspace
MCP_PORT=8811MARKDOWN_MCP_MODE: ์ํฌ์คํ์ด์ค ํ๋๋single, ์์ ํด๋ ํ๋์์ ๋์ ์ผ๋ก ๊ณ ๋ฅด๋ฉดhubMARKDOWN_MOUNT_SOURCE: Docker์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธํ ์ค์ ํด๋MARKDOWN_PUBLIC_PATH: MCP ์๋ต์ ํ์ํ ํธ์คํธ ๊ฒฝ๋กMCP_PORT: ๋ก์ปฌ MCP ํฌํธ
Single ๋ชจ๋์์๋ ์ํฌ์คํ์ด์ค ์์ฒด๋ฅผ ์ง์ ํด์ผ ํ๋ฉฐ .mps ํด๋๋ฅผ ์ง์ ์ง์ ํ๋ฉด ์ ๋ฉ๋๋ค.
Compose๋ฅผ ์คํํ๊ธฐ ์ ์ ๊ฒฝ๋ก์ ์ธ๋ฑ์ค๋ฅผ ๊ฒ์ฌํ ์ ์์ต๋๋ค.
python scripts/check_workspace.py "C:/Users/you/Documents/my-markdown-workspace"๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์ค๋ฅ ๋ฉ์์ง์ ํจ๊ป ์ข
๋ฃ ์ฝ๋ 2๋ฅผ ๋ฐํํฉ๋๋ค.
4. Docker Compose ์คํ
docker compose up -d --build
docker compose ps์ํ๋ฅผ ํ์ธํฉ๋๋ค.
Invoke-RestMethod http://127.0.0.1:8811/healthzstatus๊ฐ ok์ด๊ณ mps_index_present๊ฐ true์ด๋ฉด ์ค๋น๊ฐ ๋๋ฌ์ต๋๋ค. ๊ฒฝ๋ก๊ฐ ์๋ชป๋๊ฑฐ๋
์ง์๋๋ .mps๊ฐ ์์ผ๋ฉด /healthz๋ HTTP 503์ ๋ฐํํ๊ณ ์ปจํ
์ด๋๋ unhealthy๋ก ํ์๋ฉ๋๋ค.
๋ธ๋ผ์ฐ์ ๋์๋ณด๋:
http://127.0.0.1:8811/5. ์น ๋์๋ณด๋์์ ํ์ธํ๊ณ ๊ฒ์ํ๊ธฐ

๋์๋ณด๋๋ ์ธ๋ถ ๋ฆฌ์์ค ์์ด ๋ก์ปฌ MCP ์๋ฒ์์๋ง ์ ๊ณต๋ฉ๋๋ค. ์ฐ๊ฒฐ๋ ์ํฌ์คํ์ด์ค์ ๋ฌธ์ ์, ์ธ๋ฑ์ค ์ํ, ์ต๊ทผ MCP ํธ์ถ์ ํ๋์ ํ์ธํ ์ ์๊ณ ์ํ๋ 10์ด๋ง๋ค ์๋ ๊ฐฑ์ ๋ฉ๋๋ค.
Markdown ์ง์ ๊ฒ์

์ง์ ๊ฒ์ ํญ์ ์ฝ๋๋ค.
์ง๋ฌธ์ด๋ ํค์๋๋ฅผ ์ ๋ ฅํฉ๋๋ค.
์ ์ฒด ์ํฌ์คํ์ด์ค ๋๋ ํน์ ์ํฌ์คํ์ด์ค๋ฅผ ์ ํํฉ๋๋ค.
๊ฒ์์ ๋๋ฅด๋ฉด ์ ๋ชฉ, ๊ด๋ จ ๋ณธ๋ฌธ, ํ์ผ ๊ฒฝ๋ก, ์ํฌ์คํ์ด์ค๊ฐ ํ์๋ฉ๋๋ค.
๊ฒฐ๊ณผ๊ฐ ๋ง์ผ๋ฉด ํ๋ฉด ์๋ ํ์ด์ง ๋ฒํผ์ผ๋ก ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค.
๊ฒ์ ์ํ๋ฅผ URL์ ๋ด์ ๊ณต์ ํ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ก ์ ์ฅํ ์๋ ์์ต๋๋ค.
http://127.0.0.1:8811/?tab=search&q=์ง์%20์ฐ์ ์์&root_id=career-signalMCP ๋๊ตฌ ์ดํดํ๊ธฐ

๋๊ตฌ ์๋ด ํญ์๋ MCP๊ฐ ์ ๊ณตํ๋ ๋ชจ๋ ๋๊ตฌ์ ์ฉ๋, ์ฃผ์ ํ๋ผ๋ฏธํฐ๊ฐ ์ ๋ฆฌ๋์ด ์์ต๋๋ค.
์ฒ์ ์ฌ์ฉํ ๋๋ list_markdown_roots โ find_relevant_markdown_roots โ
search_markdown ๋๋ search_all_markdown ์์๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋ฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ณ ํ๋กฌํํธ ๋ณต์ฌํ๊ธฐ

ํ๋กฌํํธ ํญ์์ Codex, Claude Code, Gemini CLI๋ฅผ ์ ํํ๋ฉด ์ค์น์ ์ฌ์ฉ ํ๋กฌํํธ๊ฐ ๋๋์ด ํ์๋ฉ๋๋ค. ๋ณต์ฌ ๋ฒํผ์ผ๋ก ์ํ๋ ํ๋กฌํํธ๋ฅผ ๋ณต์ฌํ ๋ค ํด๋น ํด๋ผ์ด์ธํธ์ ๊ทธ๋๋ก ๋ถ์ฌ ๋ฃ์ ์ ์์ต๋๋ค. ์ฌ์ฉ ์ด๋ ฅ๊ณผ ์ง๋ฌธ ํจํด ํญ์ ๊ฒ์ยทํํฐยทํ์ด์ง ์ด๋์ ์ง์ํ๋ฏ๋ก ํธ์ถ์ด ๋ง์ด ์์ฌ๋ ํ์ํ ๊ธฐ๋ก๊ณผ ์์ฃผ ์ฐ๋ ํ๋ผ๋ฏธํฐ ์กฐํฉ์ ์ฐพ์ ์ ์์ต๋๋ค.

๋์๋ณด๋ ๊ธฐ๋ฅ๊ณผ ๋ก์ปฌ ๊ฐ์ฌ ๋ก๊ทธ ๋ณด์กด ์ค์ ์ docs/dashboard.md๋ฅผ ์ฐธ๊ณ ํ์ธ์.
MCP endpoint:
http://127.0.0.1:8811/mcp๋ก๊ทธ์ ์ข ๋ฃ ๋ช ๋ น:
docker compose logs -f markdown-source-graph-mcp
docker compose down6. AI ํด๋ผ์ด์ธํธ์ MCP ๋ฑ๋ก
ํด๋ผ์ด์ธํธ๋ณ ์์ธ ๊ฐ์ด๋์ ๋ณต์ฌ ๊ฐ๋ฅํ ์ค์ ํ์ผ์ ๋ถ๋ฆฌํด ๋์์ต๋๋ค.
ํด๋ผ์ด์ธํธ | ๊ฐ์ด๋ | ์์ ์ค์ |
Codex | ||
Claude Code | ||
Gemini CLI |
Codex ๋น ๋ฅธ ๋ฑ๋ก
codex mcp add markdownSourceGraph --url http://127.0.0.1:8811/mcp
codex mcp listClaude Code ๋น ๋ฅธ ๋ฑ๋ก
claude mcp add --transport http markdown-source-graph --scope project http://127.0.0.1:8811/mcp
claude mcp listGemini CLI ๋น ๋ฅธ ๋ฑ๋ก
gemini mcp add --transport http --scope project markdown-source-graph http://127.0.0.1:8811/mcp
gemini mcp list7. ์ฌ์ฉ ์์
์ฐ๊ฒฐํ ํด๋ผ์ด์ธํธ์์ ๋ค์๊ณผ ๊ฐ์ด ์์ฒญํฉ๋๋ค.
markdown-source-graph MCP๋ฅผ ์ฌ์ฉํด "agent evaluation"์ ๊ฒ์ํด์ค.
๊ด๋ จ ๋ฌธ์ 5๊ฐ์ ๊ฒฝ๋ก, ์ ๋ชฉ, ๊ด๋ จ heading๊ณผ ํต์ฌ ๊ทผ๊ฑฐ๋ฅผ ์ ๋ฆฌํด์ค."MCP tooling"๊ณผ ๊ฐ์ฅ ๊ด๋ จ ์๋ ๊ธฐ์ค ๋ฌธ์๋ฅผ ์ฐพ๊ณ ,
get_markdown_links๋ก ๋งํฌ์ backlink๋ฅผ ์กฐ์ฌํด์ ํจ๊ป ์ฝ์ด์ผ ํ ๋ฌธ์๋ฅผ ์๋ ค์ค.docs/architecture.md๋ฅผ ์์ ํ๊ธฐ ์ ์ ์ด ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ ๋ฌธ์์
์ด ๋ฌธ์๊ฐ ์ฐธ์กฐํ๋ ๋ฌธ์๋ฅผ ์ฐพ์ ๋ณ๊ฒฝ ์ํฅ ๋ฒ์๋ฅผ ์ ๋ฆฌํด์ค.๋ ๋ง์ ๋ณต์ฌยท๋ถ์ฌ๋ฃ๊ธฐ ์์๋ examples/prompts/markdown-search.md์ ์์ต๋๋ค. ์์ด์ ํธ๊ฐ ๊ฒฝ๋ก๋ฅผ ์ง๋ฌธํ๋ฉฐ ์ค์นํ๋๋ก ๋งก๊ธฐ๋ ํ๋กฌํํธ์ ํด๋ผ์ด์ธํธ๋ณ ์ค์นยท๋ค์ค ๊ฒ์ยท์ด์ ์ ๊ฒ ํ๋กฌํํธ๋ Prompt Pack์ ๋ชจ์ ๋์์ต๋๋ค.
์ฌ๋ฌ ์ํฌ์คํ์ด์ค ์ฌ์ฉ
๊ฐ Markdown ์ํฌ์คํ์ด์ค์๋ ๊ฐ์์ .mps ์ธ๋ฑ์ค๊ฐ ์๊น๋๋ค. ์ํฌ์คํ์ด์ค๋ณ๋ก Compose ํ๋ก์ ํธ
์ด๋ฆ, ํ๊ฒฝ ํ์ผ, ํฌํธ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ์ฌ๋ฌ MCP๋ฅผ ๋์์ ์คํํ ์ ์์ต๋๋ค.
docker compose --project-name markdown-research --env-file .env.research up -d --build
docker compose --project-name markdown-wiki --env-file .env.wiki up -d --build์์ธํ ์์๋ docs/multiple-workspaces.md๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๊ณตํต ์์ ํด๋๊ฐ ์๋ ์ํฌ์คํ์ด์ค๋ง ์ ํํ ๊ณจ๋ผ ์ฐ๊ฒฐํ๋ ค๋ฉด Named Multi-root ๋ชจ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด C:/app/AI_MONITORING๊ณผ C:/app/interset_monitoring/my_carrer_signal๋ง ๊ฐ๊ฐ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก
์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ค์ ๊ณผ ์ง๋ฌธ๋ณ ์๋ ์ ํ ํ๋ฆ์ docs/multi-root.md๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ๋์ ์๋ฒ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ํฌ์คํ์ด์ค ์ ํํ๊ธฐ
Hub ๋ชจ๋๋ ํ์ฉ๋ ์์ ํด๋ ํ๋๋ฅผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋
list_markdown_roots๋ก ๋ฐ๊ฒฌ๋ root_id๋ฅผ ๋ฐ์ ๋ค, ๊ฒ์ํ ๋ ๊ทธ ๊ฐ์ ๋ฐ๊ฟ ์ฌ์ฉํฉ๋๋ค.
MARKDOWN_MCP_MODE=hub
MARKDOWN_MOUNT_SOURCE=C:/Users/you/Documents/ProjectCode
MARKDOWN_PUBLIC_PATH=C:/Users/you/Documents/ProjectCode
MARKDOWN_MCP_DISCOVERY_MAX_DEPTH=4
MCP_PORT=8811list_markdown_roots๋ฅผ ํธ์ถํด ์ฌ์ฉ ๊ฐ๋ฅํ ์ํฌ์คํ์ด์ค๋ฅผ ๋ณด์ฌ์ค.
๊ทธ์ค root_id="01_2026_EXP/markdown-pattern-studio"์์ "MCP"๋ฅผ ๊ฒ์ํด์ค.์ปจํ
์ด๋ ์คํ ํ ํด๋ผ์ด์ธํธ๊ฐ ์์์ ํธ์คํธ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์๋ก ๋ง์ดํธํ๋ ๋ฐฉ์์ Docker์ ๋ณด์์
์ง์ํ์ง ์์ต๋๋ค. ๋ฐ๋์ ๋ฏธ๋ฆฌ ํ์ฉํ Hub ๊ฒฝ๋ก ์๋์ ์๋ root_id๋ง ์ ํํ ์ ์์ต๋๋ค.
์ค์ ๊ณผ ๋ณด์ ๋ฒ์๋ docs/hub-mode.md๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์ธ๋ฑ์ค ๊ฐฑ์ ๋ฐฉ์
VS Code์์ Markdown์ ์์ ํ๊ณ ์ ์ฅํฉ๋๋ค.
Agent Docs๊ฐ
.mps/source-graph.sqlite๋ฅผ ๊ฐฑ์ ํฉ๋๋ค.๋ค์
search_markdownํธ์ถ์์ MCP๊ฐ ๋ณ๊ฒฝ ์๊ฐ์ ๊ฐ์งํฉ๋๋ค.MCP๊ฐ Docker ๋ณผ๋ฅจ์ ๊ฒ์ ์บ์๋ฅผ ์๋ ์ฌ์์ฑํฉ๋๋ค.
์ฆ์ ๊ฐ์ ๊ฐฑ์ ํ๋ ค๋ฉด ํด๋ผ์ด์ธํธ์์ ๋ค์๊ณผ ๊ฐ์ด ์์ฒญํฉ๋๋ค.
refresh_markdown_root๋ฅผ root_id="workspace"๋ก ์คํํด์ค.์ด ์์
์ Markdown์ด๋ .mps๋ฅผ ์์ ํ์ง ์์ต๋๋ค.
ํธํ์ฑ
๋ค์ Source Graph ์๋ณ์๋ฅผ ๋ชจ๋ ์ง์ํฉ๋๋ค.
markdown-agent-docs.source-graphmarkdown-pattern-studio.source-graphโ ์ด์ Markdown Pattern Studio ์ธ๋ฑ์ค
์ง์ ์คํค๋ง ๋ฒ์ ์ ํ์ฌ 1์
๋๋ค.
๋ณด์ ๋ชจ๋ธ
ํฌํธ๋
127.0.0.1์๋ง ๊ณต๊ฐ๋ฉ๋๋ค.Markdown ์ํฌ์คํ์ด์ค๋ ์ปจํ ์ด๋์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
์๋ฒ์๋ Markdown ์์ฑยท์ญ์ ๋๊ตฌ๊ฐ ์์ต๋๋ค.
๋ณ๋์ ์ธ์ฆ์ ์์ผ๋ฏ๋ก ํฌํธ๋ฅผ
0.0.0.0์ด๋ LAN์ ๊ณต๊ฐํ์ง ๋ง์ธ์.๊ฒ์ ๊ฒฐ๊ณผ์ Markdown ๋ด์ฉ์ ์ฐ๊ฒฐ๋ AI ํด๋ผ์ด์ธํธ์ ์ปจํ ์คํธ๋ก ์ ๋ฌ๋ ์ ์์ต๋๋ค.
MCP ํธ์ถ ๋ฉํ๋ฐ์ดํฐ์๋ ๊ฒ์์ด์ ํ์ผ ๊ฒฝ๋ก๊ฐ ํฌํจ๋ ์ ์์ผ๋ฉฐ ๋ก์ปฌ
/data/audit.sqlite3์ ์ ํ๋ ๊ฐ์๋ง ์ ์ฅ๋ฉ๋๋ค. ๋ณธ๋ฌธ๊ณผ ๊ฒ์ ๊ฒฐ๊ณผ ์ ๋ฌธ์ ์ ์ฅํ์ง ์์ต๋๋ค.
๋์๋ณด๋ ํญ๊ณผ ํธ์ถ ์ด๋ ฅยท๋ณด์กด ์ค์ ์ docs/dashboard.md๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๋ฌธ์ ํด๊ฒฐ
waiting_for_index ๋๋ mps_index_present: false
.env์MARKDOWN_MOUNT_SOURCE๊ฐ ์ฌ๋ฐ๋ฅธ์ง ํ์ธํฉ๋๋ค.<์ํฌ์คํ์ด์ค>/.mps/source-graph.sqlite๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.Agent Docs์์
Initialize Source Graph์Start Graph๋ฅผ ๋ค์ ์คํํฉ๋๋ค.Docker Desktop์์ ํด๋น ๋๋ผ์ด๋ธ๊ฐ ๊ณต์ ๊ฐ๋ฅํ์ง ํ์ธํฉ๋๋ค.
Docker Compose๊ฐ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ง ๋ชปํจ
Windows ๊ฒฝ๋ก๋ ๋ค์์ฒ๋ผ ์์ฑํฉ๋๋ค.
MARKDOWN_MOUNT_SOURCE=C:/Users/you/Documents/notesMCP ํด๋ผ์ด์ธํธ์ ๋๊ตฌ๊ฐ ๋ณด์ด์ง ์์
http://127.0.0.1:8811/healthz๋ฅผ ํ์ธํฉ๋๋ค.MCP URL ๋์
/mcp๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.ํด๋ผ์ด์ธํธ์ MCP ๋ชฉ๋ก ๋ช ๋ น์ ์คํํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ฅผ ์์ ํ ์ฌ์์ํฉ๋๋ค.
๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์์ ๋ด์ฉ์
Agent Docs Source Graph๊ฐ ๋จผ์ ๊ฐฑ์ ๋๋์ง ํ์ธํฉ๋๋ค.
get_source_graph_status์์source_updated_at๊ณผstale์ ํ์ธํฉ๋๋ค.refresh_markdown_root๋ฅผ ์คํํฉ๋๋ค.
๊ฐ๋ฐ
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements-dev.txt
pytestDocker ์ค์ ๊ฒ์ฆ:
docker compose config
docker compose buildํ๋ก์ ํธ ๊ตฌ์กฐ
.
โโ src/markdown_source_graph_mcp/ # MCP ์๋ฒ์ Source Graph ์๋น์ค
โโ tests/ # SQLite ํธํ์ฑ๊ณผ ๊ฒฝ๋ก ์์ ์ฑ ํ
์คํธ
โโ docs/clients/ # Codex, Claude Code, Gemini CLI ๊ฐ์ด๋
โโ docs/dashboard.md # ์ํ ํ๋ฉด๊ณผ MCP ํธ์ถ ๊ฐ์ฌ ์ด๋ ฅ
โโ docs/prompt-pack.md # ์ค์นยท์ฌ์ฉ ํ๋กฌํํธ ์์ธ
โโ docs/github-pages.md # ๊ณต๊ฐ ํ๋ก์ ํธ ์๋ด ์ฌ์ดํธ์ ๋ฐฐํฌ ๋ฐฉ์
โโ examples/clients/ # ํด๋ผ์ด์ธํธ๋ณ ์ค์ ํ์ผ
โโ examples/prompts/setup/ # ๊ณตํตยทํด๋ผ์ด์ธํธ๋ณ ์ค์น ํ๋กฌํํธ
โโ examples/prompts/usage/ # ๋ค์ค ๊ฒ์ยท์กฐ์ฌยท์ด์ ํ๋กฌํํธ
โโ scripts/check_workspace.py # Compose ์คํ ์ ๊ฒฝ๋กยท์ธ๋ฑ์ค ๊ฒ์ฌ
โโ assets/ # README ๋ํ ์ด๋ฏธ์ง์ ์ค์นยท๊ฒ์ ํ๋ฆ๋
โโ AGENTS.md # ์์
์์ด์ ํธ์ฉ ํ์ ์ง์นจ
โโ GETTING_STARTED.md # ์ค์น๋ถํฐ ์ฒซ ์ฌ์ฉ๊น์ง
โโ SCENARIOS.md # ์คํยท์ค๋ฅยทE2E ๊ฒ์ฆ ์๋๋ฆฌ์ค
โโ LICENSE # MIT License
โโ index.html # GitHub Pages ํ๋ก์ ํธ ์๊ฐ ์ฌ์ดํธ
โโ site/ # ์๊ฐ ์ฌ์ดํธ ์คํ์ผ๊ณผ ๋์
โโ Dockerfile
โโ docker-compose.yml
โโ docker-compose.multi.yml # ์๋ก ๋จ์ด์ง ์ฌ๋ฌ ๊ฒฝ๋ก์ ๋ช
์์ ๋ง์ดํธ
โโ .env.example # Single ๋ชจ๋ ์์
โโ .env.hub.example # Hub ๋ชจ๋ ์์
โโ .env.multi.example # Named Multi-root ์์๊ด๋ จ ๋ฌธ์
๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ MIT License๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
This server cannot be deployed
Maintenance
Related MCP Connectors
Markdown workspace for AI agents: read, write, organize, and share markdown documents.
Securely search and manage workspace context files for AI agents and teams.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Persistent docs and memory for AI agents โ read, write, organize & search a shared workspace.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides direct access to local documentation files through simple search and overview tools, enabling LLMs to query project-specific markdown documentation without requiring vector databases or RAG pipelines.MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search local Markdown documents using natural language, with automatic indexing and section-level retrieval.101 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with direct access to local Markdown documentation libraries, enabling them to list, read, and search through docs on demand.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, read, and traverse a local knowledge base of Markdown files using full-text search and relationship graph, reducing token usage.MIT