MCP Server Setup Guide
The Molecule AI MCP server lets any MCP-compatible AI agent (Claude Code, Cursor, etc.) manage workspaces, agents, secrets, memory, schedules, channels, and more through the platform API.
Quick Start
1. Install
The MCP server is published as @molecule-ai/mcp-server on npm.
npx @molecule-ai/mcp-server
2. Configure in .mcp.json
Add to your project's .mcp.json:
{
"mcpServers": {
"molecule": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@molecule-ai/mcp-server"],
"env": {
"MOLECULE_URL": "http://localhost:8080"
}
}
}
}
For production/SaaS deployments, set MOLECULE_URL to your tenant URL:
"MOLECULE_URL": "https://hongming-wang.moleculesai.app"
3. Verify
Once configured, your MCP client should show 87 Molecule AI tools. Test with:
list_workspaces
Environment Variables
| Variable |
Default |
Description |
MOLECULE_URL |
http://localhost:8080 |
Platform API URL |
Tool Reference
Workspace Management
| MCP Tool |
API Route |
Method |
Description |
list_workspaces |
/workspaces |
GET |
List all workspaces |
get_workspace |
/workspaces/:id |
GET |
Get workspace details |
create_workspace |
/workspaces |
POST |
Create a new workspace |
update_workspace |
/workspaces/:id |
PATCH |
Update workspace fields |
delete_workspace |
/workspaces/:id |
DELETE |
Delete a workspace |
restart_workspace |
/workspaces/:id/restart |
POST |
Restart workspace container |
pause_workspace |
/workspaces/:id/pause |
POST |
Pause workspace |
resume_workspace |
/workspaces/:id/resume |
POST |
Resume paused workspace |
discover_workspace |
/registry/discover/:id |
GET |
Get workspace URL + agent card |
Agent Management
| MCP Tool |
API Route |
Method |
Description |
assign_agent |
/workspaces/:id/agent |
POST |
Assign agent to workspace |
remove_agent |
/workspaces/:id/agent |
DELETE |
Remove agent |
replace_agent |
/workspaces/:id/agent |
PATCH |
Replace agent config |
move_agent |
/workspaces/:id/agent/move |
POST |
Move agent to different workspace |
Communication
| MCP Tool |
API Route |
Method |
Description |
chat_with_agent |
/workspaces/:id/a2a |
POST |
Send A2A message to agent |
async_delegate |
/workspaces/:id/delegate |
POST |
Fire-and-forget delegation |
check_delegations |
/workspaces/:id/delegations |
GET |
Check delegation status |
send_channel_message |
/workspaces/:id/channels/:channelId/send |
POST |
Send to social channel |
notify_user |
/workspaces/:id/notify |
POST |
Push notification to canvas |
list_peers |
/registry/:id/peers |
GET |
Find sibling/parent workspaces |
check_access |
/registry/check-access |
POST |
Check if two workspaces can communicate |
Configuration
| MCP Tool |
API Route |
Method |
Description |
get_config |
/workspaces/:id/config |
GET |
Get workspace config.yaml |
update_config |
/workspaces/:id/config |
PATCH |
Update config fields |
get_model |
/workspaces/:id/model |
GET |
Get configured LLM model |
Secrets
| MCP Tool |
API Route |
Method |
Description |
list_secrets |
/workspaces/:id/secrets |
GET |
List workspace secret keys |
set_secret |
/workspaces/:id/secrets |
POST |
Set a workspace secret |
delete_secret |
/workspaces/:id/secrets/:key |
DELETE |
Delete a secret |
list_global_secrets |
/settings/secrets |
GET |
List global secrets |
set_global_secret |
/settings/secrets |
PUT |
Set a global secret |
delete_global_secret |
/settings/secrets/:key |
DELETE |
Delete global secret |
Memory
| MCP Tool |
API Route |
Method |
Description |
memory_list |
/workspaces/:id/memory |
GET |
List memory keys |
memory_get |
/workspaces/:id/memory/:key |
GET |
Get memory value |
memory_set |
/workspaces/:id/memory |
POST |
Set memory key-value |
memory_delete_kv |
/workspaces/:id/memory/:key |
DELETE |
Delete memory key |
search_memory |
/workspaces/:id/memories |
GET |
Full-text search memories |
commit_memory |
/workspaces/:id/memories |
POST |
Commit HMA memory |
delete_memory |
/workspaces/:id/memories/:id |
DELETE |
Delete HMA memory |
Files
| MCP Tool |
API Route |
Method |
Description |
list_files |
/workspaces/:id/files |
GET |
List workspace files |
read_file |
/workspaces/:id/files/*path |
GET |
Read file content |
write_file |
/workspaces/:id/files/*path |
PUT |
Write/overwrite file |
delete_file |
/workspaces/:id/files/*path |
DELETE |
Delete file |
replace_all_files |
/workspaces/:id/files |
PUT |
Replace all files atomically |
Schedules
| MCP Tool |
API Route |
Method |
Description |
list_schedules |
/workspaces/:id/schedules |
GET |
List cron schedules |
create_schedule |
/workspaces/:id/schedules |
POST |
Create cron schedule |
update_schedule |
/workspaces/:id/schedules/:id |
PATCH |
Update schedule |
delete_schedule |
/workspaces/:id/schedules/:id |
DELETE |
Delete schedule |
run_schedule |
/workspaces/:id/schedules/:id/run |
POST |
Trigger schedule now |
get_schedule_history |
/workspaces/:id/schedules/:id/history |
GET |
Past run history |
Channels (Social Integrations)
| MCP Tool |
API Route |
Method |
Description |
list_channels |
/workspaces/:id/channels |
GET |
List configured channels |
add_channel |
/workspaces/:id/channels |
POST |
Add Telegram/Slack/Lark channel |
update_channel |
/workspaces/:id/channels/:id |
PATCH |
Update channel config |
remove_channel |
/workspaces/:id/channels/:id |
DELETE |
Remove channel |
test_channel |
/workspaces/:id/channels/:id/test |
POST |
Test channel connectivity |
list_channel_adapters |
/channels/adapters |
GET |
Available platforms |
discover_channel_chats |
/channels/discover |
POST |
Auto-detect chats for bot token |
Plugins
| MCP Tool |
API Route |
Method |
Description |
list_installed_plugins |
/workspaces/:id/plugins |
GET |
List installed plugins |
install_plugin |
/workspaces/:id/plugins |
POST |
Install plugin from source |
uninstall_plugin |
/workspaces/:id/plugins/:name |
DELETE |
Uninstall plugin |
list_available_plugins |
/workspaces/:id/plugins/available |
GET |
Plugins matching runtime |
list_plugin_registry |
/plugins |
GET |
Full plugin registry |
list_plugin_sources |
/plugins/sources |
GET |
Registered source schemes |
check_plugin_compatibility |
/workspaces/:id/plugins/compatibility |
GET |
Preflight check |
Teams / Hierarchy
| MCP Tool |
API Route |
Method |
Description |
expand_team |
/workspaces/:id/expand |
POST |
Expand team node |
collapse_team |
/workspaces/:id/collapse |
POST |
Collapse team node |
Templates & Bundles
| MCP Tool |
API Route |
Method |
Description |
list_templates |
/templates |
GET |
Available templates |
import_template |
/templates/import |
POST |
Import template |
list_org_templates |
/org/templates |
GET |
Org template list |
import_org |
/org/import |
POST |
Import org template |
export_bundle |
/bundles/export/:id |
GET |
Export workspace bundle |
import_bundle |
/bundles/import |
POST |
Import workspace bundle |
Tokens
| MCP Tool |
API Route |
Method |
Description |
list_tokens |
/workspaces/:id/tokens |
GET |
List workspace tokens |
create_token |
/workspaces/:id/tokens |
POST |
Create new bearer token |
revoke_token |
/workspaces/:id/tokens/:id |
DELETE |
Revoke specific token |
Monitoring
| MCP Tool |
API Route |
Method |
Description |
list_activity |
/workspaces/:id/activity |
GET |
Activity log |
report_activity |
/workspaces/:id/activity |
POST |
Report agent activity |
list_events |
/events |
GET |
Platform event stream |
list_traces |
/workspaces/:id/traces |
GET |
LLM traces (Langfuse) |
session_search |
/workspaces/:id/session-search |
GET |
Search chat sessions |
Approvals
| MCP Tool |
API Route |
Method |
Description |
create_approval |
/workspaces/:id/approvals |
POST |
Request approval |
get_workspace_approvals |
/workspaces/:id/approvals |
GET |
List approvals |
decide_approval |
/workspaces/:id/approvals/:id/decide |
POST |
Approve/reject |
list_pending_approvals |
/approvals/pending |
GET |
All pending approvals |
Canvas
| MCP Tool |
API Route |
Method |
Description |
get_canvas_viewport |
/canvas/viewport |
GET |
Current viewport |
set_canvas_viewport |
/canvas/viewport |
PUT |
Set viewport position |
Remote Agents
| MCP Tool |
API Route |
Method |
Description |
list_remote_agents |
/workspaces?runtime=external |
GET |
List remote agents |
get_remote_agent_state |
/registry/discover/:id |
GET |
Remote agent status |
check_remote_agent_freshness |
/registry/heartbeat |
POST |
Check if agent is alive |
get_remote_agent_setup_command |
(local) |
— |
Get setup instructions |
Authentication
Most routes require a bearer token:
curl -H "Authorization: Bearer <token>" http://localhost:8080/workspaces
Tokens are issued on workspace registration (POST /registry/register) or via the token management API (POST /workspaces/:id/tokens).
The MCP server handles auth automatically when configured with the correct MOLECULE_URL.
Troubleshooting
| Issue |
Fix |
| "Connection refused" |
Check MOLECULE_URL points to running platform |
| "401 Unauthorized" |
Token expired or revoked — create a new one |
| Tools not showing |
Run npx @molecule-ai/mcp-server standalone to check for errors |
| Stale data |
MCP server doesn't cache — check platform directly |