kitsune-mcp 0.8.5 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
<p><strong>One MCP entry. 10,000+ servers on demand.<br/>Load only the tools you need. Switch instantly. No restarts.</strong></p>
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
|
-
[](https://pypi.org/project/kitsune-mcp/)
|
|
8
|
+
[](https://pypi.org/project/kitsune-mcp/)
|
|
9
|
+
[](https://www.npmjs.com/package/kitsune-mcp)
|
|
10
|
+
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.kaiser-data%2Fkitsune-mcp)
|
|
9
11
|
[](https://pypi.org/project/kitsune-mcp/)
|
|
10
12
|
[](https://github.com/kaiser-data/kitsune-mcp/actions)
|
|
11
13
|
[](https://codecov.io/gh/kaiser-data/kitsune-mcp)
|
|
@@ -15,6 +17,22 @@
|
|
|
15
17
|
|
|
16
18
|
---
|
|
17
19
|
|
|
20
|
+
## What's new in v0.9.0
|
|
21
|
+
|
|
22
|
+
Friction-reduction release focused on first-run onboarding, credential visibility, and agent workflows.
|
|
23
|
+
|
|
24
|
+
- **`search()` shows credential status per result** — `✅ ready` or `✗ needs BRAVE_API_KEY` inline, so you know before you shapeshift
|
|
25
|
+
- **`shapeshift(server_id, source="local", confirm=True)`** — force a local `npx`/`uvx` install without a Smithery key; `source="smithery"` forces HTTP; `source="official"` requires a verified registry listing
|
|
26
|
+
- **`shiftback(uninstall=True)`** — optionally removes the locally installed package (uvx fully removed via `uv tool uninstall`; npx cache clears automatically)
|
|
27
|
+
- **`KITSUNE_TRUST=community`** env var — skip the `confirm=True` gate permanently for trusted users and agents; set once via `key("KITSUNE_TRUST", "community")`
|
|
28
|
+
- **First-run onboarding in `status()`** — clean sessions now show a 5-step getting-started guide with an example flow
|
|
29
|
+
- **Lean-mounting hint** — after a heavy `shapeshift()` the output suggests `tools=[...]` with a concrete tool name and token cost
|
|
30
|
+
- **Registry failure reporting** — `search()` now shows `⚠️ Skipped: <name> (timeout)` when one registry is slow, so you know results are partial instead of silently incomplete
|
|
31
|
+
|
|
32
|
+
See [CHANGELOG.md](CHANGELOG.md) for the full list plus internal refactors and bug fixes.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
18
36
|
## Why Kitsune?
|
|
19
37
|
|
|
20
38
|
In Japanese folklore, the Kitsune (狐) is a fox spirit of extraordinary intelligence and magical power. What makes it remarkable is how it grows: with age and wisdom, a Kitsune gains additional tails — each one representing a new ability it has mastered. It can shapeshift, take on any form it chooses, borrow the powers of others, and just as freely cast them off when the purpose is fulfilled. One fox. Many forms. Total fluidity.
|
|
@@ -263,6 +281,8 @@ Every `shapeshift()`, `call()`, and `connect()` result shows where the server co
|
|
|
263
281
|
| Medium | `mcpregistry`, `glama`, `smithery` | `✓ Source: smithery` |
|
|
264
282
|
| Community | `npm`, `pypi`, `github` | `⚠️ Source: npm (community — not verified)` |
|
|
265
283
|
|
|
284
|
+
Community servers and `source="local"` installs require `confirm=True` — you're explicitly acknowledging you've reviewed the server before running arbitrary code. To bypass this for servers you already trust, set `KITSUNE_TRUST=community` (via `key("KITSUNE_TRUST", "community")` or your `.env`). This persists across sessions so power users and agents never see the gate again.
|
|
285
|
+
|
|
266
286
|
### Install command validation
|
|
267
287
|
|
|
268
288
|
Before spawning any subprocess, Kitsune MCP validates the executable name:
|
|
@@ -400,8 +420,8 @@ key("BRAVE_API_KEY", "your-key") # writes to .env, active immediately
|
|
|
400
420
|
|
|
401
421
|
| Tool | Description |
|
|
402
422
|
|---|---|
|
|
403
|
-
| `shapeshift(server_id, tools)` | Load a server's tools live. `tools=[...]` for lean
|
|
404
|
-
| `shiftback(kill)` | Remove shapeshifted tools. `kill=True` terminates the process
|
|
423
|
+
| `shapeshift(server_id, tools, source, confirm)` | Load a server's tools live. `tools=[...]` for lean load. `source="local"` forces npx/uvx install; `source="smithery"` forces HTTP. |
|
|
424
|
+
| `shiftback(kill, uninstall)` | Remove shapeshifted tools. `kill=True` terminates the process. `uninstall=True` also removes a locally installed package. |
|
|
405
425
|
| `search(query, registry)` | Search MCP servers across registries. |
|
|
406
426
|
| `inspect(server_id)` | Show tools, schemas, and live credential status (✓/✗ per key). |
|
|
407
427
|
| `call(tool_name, server_id, args)` | Call a tool. `server_id` optional when shapeshifted — current form used. |
|
|
@@ -492,6 +512,16 @@ call("brave_web_search", arguments={"query": "MCP protocol 2025"})
|
|
|
492
512
|
shiftback()
|
|
493
513
|
```
|
|
494
514
|
|
|
515
|
+
### Local install — no API key needed
|
|
516
|
+
|
|
517
|
+
```
|
|
518
|
+
# Force local install via npx/uvx — no Smithery key required
|
|
519
|
+
shapeshift("brave", source="local", confirm=True)
|
|
520
|
+
# → spawns npx locally, tools appear natively
|
|
521
|
+
call("brave_web_search", arguments={"query": "MCP 2026"})
|
|
522
|
+
shiftback(uninstall=True) # remove tools AND uninstall the package
|
|
523
|
+
```
|
|
524
|
+
|
|
495
525
|
### Persistent server with setup guidance
|
|
496
526
|
|
|
497
527
|
```
|
|
@@ -509,13 +539,17 @@ shiftback(kill=True) # terminates process, frees RAM
|
|
|
509
539
|
## Installation
|
|
510
540
|
|
|
511
541
|
```bash
|
|
512
|
-
|
|
542
|
+
uvx kitsune-mcp # recommended — uv manages the env automatically
|
|
543
|
+
# or
|
|
544
|
+
pip install kitsune-mcp # classic pip
|
|
513
545
|
# or
|
|
514
|
-
|
|
546
|
+
npx kitsune-mcp # if you prefer npm (delegates to uvx internally)
|
|
515
547
|
```
|
|
516
548
|
|
|
517
549
|
**Requirements:** Python 3.12+ · `node`/`npx` (for npm servers) · `uvx` from [uv](https://github.com/astral-sh/uv) (for pip servers)
|
|
518
550
|
|
|
551
|
+
> **Tip:** `uvx kitsune-mcp` is the easiest way — uv installs into an isolated env automatically. No venv setup needed.
|
|
552
|
+
|
|
519
553
|
---
|
|
520
554
|
|
|
521
555
|
## Contributing
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kitsune-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "The shape-shifting MCP hub — shapeshift() into 10,000+ MCP servers at runtime. One entry point, no restarts, 7 registries.",
|
|
5
5
|
"mcpName": "io.github.kaiser-data/kitsune-mcp",
|
|
6
6
|
"bin": {
|