Kitsune MCP
ภาพรวม
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Hot-reload for MCP servers + mount any community server mid-session, Docker optional. No restarts.
สามเสาของ PopNx MCP
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
- เสียงผู้ใช้iยังไม่มีรีวิวรีวิวเปิดพร้อมระบบบัญชีในขั้นถัดไป
- ผลตรวจเบื้องต้นของเราiผ่าน 2 จาก 2 ข้อตรวจจากข้อมูลที่เปิดอยู่ ยังไม่ได้สแกนโค้ด
- การใช้งานiเริ่มต้น↓ 1.4K/สัปดาห์ · ★ 3
ใช้ทำอะไรได้
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
- การเชื่อมต่อ: รันบนเครื่อง
- ช่องทาง (transport): stdio
- หมวด: เครื่องมือนักพัฒนา
- ต้องใส่ค่าเหล่านี้: SMITHERY_API_KEY
ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ก่อนติดตั้ง
- ผลตรวจเบื้องต้น: ผ่าน 2 จาก 2 ข้อ
- รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
- ค่าที่คุณต้องใส่เอง:
SMITHERY_API_KEY
ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"kitsune": {
"command": "npx",
"args": [
"-y",
"kitsune-mcp"
],
"env": {
"SMITHERY_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add kitsune --env SMITHERY_API_KEY='ใส่ค่าของคุณ' -- npx -y kitsune-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"kitsune": {
"command": "npx",
"args": [
"-y",
"kitsune-mcp"
],
"env": {
"SMITHERY_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"kitsune": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"kitsune-mcp"
],
"env": {
"SMITHERY_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าที่ต้องใส่เอง
- Optional. Adds Smithery to registry search; the other registries need no key. Get one at smithery.ai/account/api-keys
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 11 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub kaiser-data ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด เมื่อวานซืน
- … ยังไม่ตรวจ
มีสัญญาอนุญาต (license)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 79% ของอีก 5742 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 80% ของอีก 5742 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5742 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Kitsune MCP ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
ต้องใส่ค่าเหล่านี้: SMITHERY_API_KEY
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด เมื่อวานซืน และส่งรุ่นล่าสุด (0.23.0) เข้า registry 3 วันที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, Python (uv) ในเครื่องด้วย
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี REA, Netdata, Front-End Checklist
ตัวที่ใช้แทนได้
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
🦊 Kitsune MCP Let your agent test the MCP server it's building.
Edit a tool, reload("dev") , call it again. No client restart. ⭐ Saved you a restart? Star it on GitHub so others find it. 📖 Documentation · Hot-reload tutorial · Tools reference
AI agents installing this server (Cline, Claude Code, Cursor, …): follow llms-install.md. No clone or build needed. Add the
uvx kitsune-mcpentry to your MCP settings.
One prompt: Claude finds the bug, fixes it, reloads, checks again. Real recording, 31 s.
Why
Your agent edits an MCP tool, but the client still runs the old process. Someone has to restart it before the agent can test the fix.
With Kitsune, connect, call and reload are tools. The agent runs the whole loop itself:
connect("uv run my-mcp-server", name="dev") # start your server
shapeshift("dev") # its tools appear in the client call("summarize", arguments={"url": "https://example.com"})
… the agent (or you) edits the tool …
reload("dev") # restart on fresh code, remount call("summarize", arguments={"url": "https://example.com"}) # new code, same session
No Docker needed: connect() runs your own server as a plain local process, so the loop stays fast.
It also mounts any of 130,000+ servers from 7 registries mid-session. If Docker is installed, community packages run caged.
Try it: hot-reload tutorial · examples/demo-hot-reload/
Install
Claude Code
claude mcp add -s user kitsune -- uvx kitsune-mcp
Any other client (Claude Desktop, Cursor, Windsurf, Cline, Zed, …):
{
"mcpServers": { "kitsune": { "command": "uvx", "args": ["kitsune-mcp"] } } }
Also on PyPI (pip install kitsune-mcp, then "command": "kitsune-mcp") and npm (npx kitsune-mcp, delegates to uvx).
Requirements: Python 3.12+ · uv · node/npx for npm-based servers · Docker optional: not used for hot-reload, only to cage community servers when installed.
Three things it does
| Loop | What you get | |
|---|---|---|
| MCP REPL | connect → shapeshift → edit → reload → call | Iterate on your own server without restarting the client |
| Long-tail reach | search → shapeshift → call → shapeshift() | Use a server once without adding it to your config forever |
| Try before you trust | confirm=True + Docker cage + version pins | Run community npm/PyPI code contained, not as your user |
Borrow a server you never configured
search("web scraping")
shapeshift("firecrawl", tools=["scrape_url"]) # mount one tool, not the whole server call("scrape_url", arguments={"url": "https://example.com"}) shapeshift() # drop it, session stays up
Try a community package, caged
search("pdf", registry="glama")
shapeshift("mcp-pdf-tools", confirm=True) # npm/PyPI run in hardened Docker when available call("extract_text", arguments={"path": "report.pdf"}) shapeshift()
Add credentials mid-session
auth("BRAVE_API_KEY", "sk-...") # saved to ~/.kitsune/.env, no restart
shapeshift("brave", tools=["brave_web_search"])
Full live walkthrough: docs/demo-realtime.md.
When to use it, when not to
| Use Kitsune when… | Skip it when… |
|---|---|
| You're building an MCP server and want an edit/reload loop | You only use 1–3 trusted servers (configure them natively) |
| A task needs a server that isn't in your config | Every turn hits the same server (keep it always-on) |
| You want to evaluate community MCP code without installing it for good | You want lower token use: the base cost is ~1,774 tokens/turn, and modern clients already defer tool schemas |
| Your MCP config is crowded (GATEWAY) | You need a sub-second first call (cold mount takes ~1–15 s) |
How it works
shapeshift(server_id) picks a transport (stdio, HTTP+SSE, WebSocket, Docker), connects, reads tools/list, and registers each tool as a native tool with the server's real schema. The client receives notifications/tools/list_changed and sees first-class tools, with no wrapper in between. shapeshift() with no argument removes them and closes the connection.
search() covers the official servers repo, the MCP Registry, Glama, npm, PyPI, GitHub (github:owner/repo) and Smithery (hosted servers, free API key).
Tools
Default profile: 9 tools, ~1,774 tokens/turn (measured with python examples/benchmark.py).
| Tool | Role |
|---|---|
connect(command, name) | Start a persistent local server, e.g. the one you're developing |
reload(name) | Release, restart on fresh code, remount, in one call |
release(name) | Stop a persistent server |
search(query, registry?) | Search 7 registries |
shapeshift(server_id?, tools=[…]) | Mount a server's tools (all or a subset); no argument drops them |
call(tool_name, arguments) | Call a tool; the server is inferred when mounted |
auth(var_or_server, value?) | Set an env key or run an OAuth 2.1 browser flow |
auto(task, server_hint=) | Search, mount and call in one step |
status() | Current form, connection pool, session stats |
KITSUNE_TOOLS=all (or the kitsune-forge command) adds developer tools: inspect (schemas, credential check, token cost), test (quality score 0–100), bench (p50/p95 latency), compare, prewarm, craft, setup, and more. See docs/tools.md. Companion skills for Claude Code: kitsune-dev, kitsune-improve.
Safety, in short
- Community sources need consent. npm, PyPI and GitHub servers require
confirm=True. The model can set that flag itself, so real approval belongs in your client's tool-approval UI. - `connect()` runs the command it is given, as your user, with no consent gate and no cage. It is meant for your own code. Approve
connectcalls in your client before the agent runs them. - Community packages run in a Docker cage by default when Docker is installed: no host filesystem,
--cap-drop ALL, read-only root, memory and PID limits. Credentials are passed by name, never in argv. - Version pins (TOFU). A later malicious publish doesn't silently replace a version you already ran.
- Opt-in action guard. A
~/.kitsune/policy.jsonchecks every downstream call against allow/ask/deny rules, path roots and a host allowlist.askgoes to you through MCP elicitation. - Install commands are validated and launched without a shell.
fetch()blocks private hosts and re-checks every redirect.
Don't run it unattended with production admin, billing or security credentials. The full model, including what it does not protect against: docs/safety.md.
More
- Configuration: env and
.envlookup, tool profiles, sandbox and trust settings, Smithery, GATEWAY, mount patterns - Performance: cold/warm latency and token cost compared with always-on servers
- Transports · Compatibility · Agent patterns · Worked scenarios
Why "Kitsune"?
In Japanese folklore the kitsune (狐) is known for what it can *become*: it borrows a form, uses that power, casts it off and returns to itself. That is the product loop.
*I am not Japanese, and I use this name with the highest respect for the mythology and culture it comes from. The parallel felt too precise to ignore.*
Contributing
make dev # install with dev dependencies
make test # pytest make lint # ruff
Issues and PRs welcome: github.com/kaiser-data/kitsune-mcp · CHANGELOG.md
*MIT License · Python 3.12+ · Built on FastMCP*