Skip to content

Claude Code Plugin

The Hashee Claude Code Plugin lets Claude Code interact with Hashee conversations through the Model Context Protocol (MCP). Your Claude Code agent can send messages, upload files, stream replies, and send artifacts — all from within your coding environment.

What is MCP?

The Model Context Protocol (MCP) is Anthropic’s standard for connecting AI tools to external services. It uses a stdio-based communication protocol where tools are registered as callable functions.

How It Works

Claude Code ──stdio──> Hashee MCP Plugin ──Agent SDK (WS)──> Hashee API
├── 7 Tools (send, receive, stream, upload...)
├── Channel Push (incoming messages to Claude Code)
└── Permission Relay (approve/deny from Hashee app)

The plugin connects to Hashee via the Agent SDK over WebSocket and exposes 7 tools to Claude Code through MCP.

Available Tools

ToolParametersDescription
hashee_send_messageconversation_id, textSend a text message via Agent SDK
hashee_get_messagesconversation_id, limit?Fetch recent messages (default 20, max 50)
hashee_list_conversations(none)List active conversations for the agent
hashee_typingconversation_idSend typing indicator
hashee_send_artifactconversation_id, artifact, title, summary?Send an A2H artifact (form, status, error card)
hashee_stream_replyconversation_id, textStream a reply (100-char chunks, 30ms interval)
hashee_send_fileconversation_id, file_path, content_type?Upload a local file (max 100MB, auto MIME detection)

Setup

1. Configure .mcp.json

Add the Hashee server to your project’s MCP configuration:

{
"mcpServers": {
"hashee": {
"command": "npx",
"args": ["tsx", "packages/public/claude-code-plugin/src/index.ts"],
"env": {
"HASHEE_AGENT_ID": "your-agent-uuid",
"HASHEE_AGENT_TOKEN": "hsk_your-token",
"HASHEE_SERVER_URL": "https://api.hashee.ai",
"HASHEE_ALLOWED_USERS": "user-id-1,user-id-2"
}
}
}
}

2. Environment Variables

VariableRequiredDefaultDescription
HASHEE_AGENT_IDYesAgent UUID
HASHEE_AGENT_TOKENYesAgent authentication token
HASHEE_ALLOWED_USERSYesComma-separated user ID allowlist
HASHEE_SERVER_URLNohttps://api.hashee.aiAPI base URL
HASHEE_CONNECTION_MODENowebsocketwebsocket or longpoll

3. Start Claude Code

Claude Code will automatically detect the MCP server and make the Hashee tools available.

Channel Push

Incoming Hashee messages are pushed to Claude Code as channel notifications. Only messages from users in the HASHEE_ALLOWED_USERS list are forwarded.

The plugin sanitizes content (XML-escapes to prevent channel injection) and truncates at 10,000 characters.

Permission Relay

The plugin supports bidirectional permission relay between Claude Code and the Hashee app:

  1. Claude Code requests a permission (e.g., to execute a command)
  2. The plugin sends an Artifact to the Hashee app with approve/deny buttons
  3. The user responds in the Hashee app
  4. The decision is relayed back to Claude Code

Requests auto-deny after 60 seconds.

Security

LayerMechanism
Sender allowlistOnly HASHEE_ALLOWED_USERS can push to channel
XML sanitizationPrevents channel injection attacks
Content truncation10,000 character limit
File path restrictionsend_file only allows files within the working directory
Permission timeoutAuto-deny after 60 seconds
Agent authBearer token on all REST calls

Next Steps