Docs Home | API | Configuration | Examples | Basic | Caching | Events | LLM | Architecture | Benchmarks | Framework Comparison | Ecosystem
Qirrel ships an agent-native layer so the same parsing logic can be consumed as tools in agent runtimes.
AgentBridgeabstraction for registering/calling tools.- Built-in tools:
qirrel.parse_textqirrel.parse_batchqirrel.tool_helpqirrel.capabilities
- MCP JSON-RPC request handler and stdio server (
qirrel-mcp).
import { createQirrelAgentBridge } from 'qirrel';
const bridge = createQirrelAgentBridge();
const result = await bridge.callTool('qirrel.parse_text', {
text: 'Email hello@example.com',
});
console.log(result.structuredContent);const help = await bridge.callTool('qirrel.tool_help', {
name: 'qirrel.parse_text',
});
console.log(help.structuredContent);Use qirrel.tool_help so planners can read inputSchema, examples, and descriptions before invoking tools.
bun run mcp:startAfter package install:
qirrel-mcpOptional config path argument:
qirrel-mcp ./miniparse.config.yamlQirrel currently handles these methods:
initializetools/listtools/callping
Implemented protocol version default: 2025-03-26.
Notifications (requests without id) are processed but no response is written.
-32700: parse error (invalid JSON line)-32600: invalid request-32601: method not found-32602: invalid params-32000: tool execution/internal failure
import { AgentBridge } from 'qirrel';
const bridge = new AgentBridge();
bridge.registerApiTool(
{
name: 'inventory.lookup',
description: 'Lookup stock by SKU',
inputSchema: {
type: 'object',
properties: { sku: { type: 'string' } },
required: ['sku'],
},
},
async ({ sku }: { sku: string }) => ({ sku, inStock: true }),
);- Keep tool schemas strict and explicit.
- Treat
structuredContentas the machine contract andcontentas human-readable fallback. - For transport interoperability planning, pair this page with Framework Comparison and Ecosystem Comparison.