@aauth/mcp-openclaw
v0.1.2
Published
OpenClaw plugin for AAuth-authenticated MCP server connections
Maintainers
Readme
@aauth/mcp-openclaw
OpenClaw plugin for connecting to AAuth-authenticated MCP servers. Discovers remote tools via MCP and registers them as OpenClaw tools with AAuth signing.
See the AAuth repo for protocol overview.
Install
npm install @aauth/mcp-openclawOpenClaw Configuration
Add to ~/.openclaw/openclaw.json:
{
"plugins": {
"entries": {
"aauth": {
"enabled": true,
"config": {
"agent_url": "https://user.github.io",
"delegate": "openclaw",
"mcp_servers": {
"my-files": "https://files-api.example.com/mcp",
"my-db": "https://db-api.example.com/mcp"
}
}
}
}
}
}Tools from remote servers are registered with a prefix: my-files_read_file, my-db_query, etc.
API
register(api, config)
Plugin entry point called by OpenClaw. Connects to configured MCP servers and registers their tools.
import { register } from '@aauth/mcp-openclaw'ServerManager
Manages connections to multiple MCP servers with AAuth authentication.
import { ServerManager } from '@aauth/mcp-openclaw'
const manager = new ServerManager({
servers: {
'my-files': 'https://files-api.example.com/mcp',
'my-db': 'https://db-api.example.com/mcp',
},
getKeyMaterial: async () => ({
signingKey: privateKeyJwk,
signatureKey: { type: 'jwt', jwt: agentToken }
}),
})
await manager.connectAll()
// List discovered tools (prefixed by server name)
const tools = manager.getTools()
// [{ prefixedName: 'my-files_read', serverName: 'my-files', originalName: 'read', description: '...' }]
// Call a tool
const result = await manager.callTool('my-files_read', { path: '/data.json' })
await manager.shutdown()License
MIT
