kitsune-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | No | GitHub token for using the GitHub server. | |
| BRAVE_API_KEY | No | Brave Search API key for using the Brave Search server. | |
| KITSUNE_TOOLS | No | Comma-separated list of tools to enable in the lean profile (e.g., 'shapeshift,shiftback,key'). | |
| SMITHERY_API_KEY | No | Free API key for Smithery to extend discovery with its hosted server catalog (HTTP servers, no local install required). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Discover MCP servers across registries — the entry point to mounting. Returns a ranked list of server_ids with name, description, source, and credential-readiness status. Records discovered servers in session so status() can summarize them. Reports per-registry failures inline rather than failing the whole call. Use when: you need to find a server matching a capability before mounting. Avoid when: the server_id is already known — go straight to shapeshift() or inspect(). search('web search') # find candidates search('postgres', compare=True) # side-by-side token-cost table search('vector db', registry='smithery') registry: all|official|mcpregistry|glama|npm|smithery|pypi |
| statusA | Show Kitsune runtime state: providers, current form, connections, token stats. |
| callA | Invoke a tool on an MCP server. Returns the tool's response as text. Routes through the warm pooled transport when a server is shapeshifted; otherwise spins up a transient transport for the given server_id. Records the call in session stats. Long responses (HTML, large outputs) are truncated with a continuation note. Use when: the tool name and target server are known. Avoid when: discovery is needed — auto() does search → pick → call in one step. call('get_current_time', arguments={'timezone': 'UTC'}) # after shapeshift call('list_directory', '@mcp/server-fs', {'path': '/tmp'}) # ad-hoc one-shot |
| autoB | search → pick server → infer args → call. Use when you don't know which server to use. auto('what time in Tokyo') auto('list issues on acme/api', server_hint='github') |
| authA | Check or set credentials. ALL_CAPS = env var; server-id = creds check or OAuth. auth('GITHUB_TOKEN', 'ghp_...') # save env var auth('GITHUB_TOKEN') # check if set auth('server-id') # show creds needed / run OAuth auth('server-id', 'logout') # revoke OAuth tokens |
| shapeshiftA | Mount an MCP server's tools at runtime. Empty server_id unmounts. shapeshift('mcp-server-time') # mount (community sources cage by default) shapeshift('id', tools=['only_this']) # lean — mount only listed tools shapeshift('id', sandbox=False) # opt out of the default Docker cage shapeshift('id', sandbox=True) # force the cage (hard-fail if no Docker) shapeshift() # unmount + kill process sandbox: None (default) cages low-trust npm/PyPI/github sources in Docker when it's available (best-effort — runs uncaged with a nudge if not); True forces the cage; False opts out. source: auto|local|smithery|official. confirm=True for community sources. |
| connectC | Start a persistent server. command: server_id or shell cmd (e.g. 'uvx voice-mode'). name: alias for release(). |
| release | Kill a persistent connection by name. |
| reloadA | Reload a persistent connection after editing its code — the MCP REPL in one call. reload('dev') # release the stale process, start fresh code, remount live Replaces the manual release() + connect() + shapeshift() cycle and removes the
"connect() handed back the old process" footgun (it always releases first).
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaiser-data/kitsune-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server