furry-companion-mcp
v0.1.0
Published
AI Companion MCP Runtime for agent presence events over stdio.
Maintainers
Readme
Furry Companion MCP
AI Companion MCP Runtime for agent presence events over stdio MCP plus local IPC for UI consumers.
Runtime path:
AI Agent -> MCP Tool -> Event Bus -> local IPC -> VSCode Extension -> WebviewNo websocket MCP transport is used.
Tool
set_state({ state: "thinking" })Supported states:
idlethinkingplanningcodingtestingdebuggingsuccesserror
The tool emits:
bus.emit("state", {
type: "state",
state
})Install From npm
Use the package directly from npm in an MCP client:
{
"mcpServers": {
"furry-companion": {
"command": "npx",
"args": ["-y", "furry-companion-mcp"]
}
}
}Or install it globally:
npm install -g furry-companion-mcp
furry-companion-mcpVSCode Extension Bridge
The MCP server starts a local JSON Lines IPC bridge for non-MCP UI consumers. Multiple MCP processes can run at the same time: the first process owns the bridge, and later processes relay their state events into the existing bridge.
Default IPC path:
- Windows:
\\.\pipe\furry-companion-mcp - macOS/Linux:
/tmp/furry-companion-mcp.sock
Override it when needed:
FURRY_COMPANION_IPC_PATH=/tmp/my-companion.sock furry-companion-mcpEach IPC line is a state event:
{"type":"state","state":"thinking"}The VSCode extension should connect to this IPC path with Node net, parse newline-delimited JSON, then call webview.postMessage({ command: "companion-state", ... }).
Agent Skills
Skill documents are included in the npm package under skills/:
skills/claude.mdskills/codex.mdskills/cursor.md
They are downloaded with the MCP package, but MCP clients do not automatically activate arbitrary skill files from npm packages. Copy or reference the matching file in the agent's own instruction/skill system. See skills/INSTALL.md for the available installation options.
Development
npm install
npm run build
npm run startMCP CLI
After building, the package exposes:
{
"bin": {
"furry-companion-mcp": "./dist/index.js"
}
}Use it as a stdio MCP server. No websocket transport is used.
