@jambonz/mcp-schema-server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@jambonz/mcp-schema-serverget the full developer guide and schema index"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@jambonz/mcp-schema-server
MCP server that provides jambonz verb schemas and documentation to AI agents via the Model Context Protocol.
How It Works
This server exposes the schemas and developer guide from the @jambonz/schema package as MCP tools. AI coding agents can query verb definitions, component types, callback payloads, and the full developer guide without needing local access to the schema files.
Related MCP server: openapi-mcp-proxy
Tools
Tool | Description |
| Returns the full developer guide and schema index. Call this first before writing any jambonz code. |
| Fetch the JSON Schema for any verb, component, or callback (e.g. |
Usage
stdio transport
npx @jambonz/mcp-schema-serverHTTP transport
npx @jambonz/mcp-schema-server --http --port 3000Configuration
Claude Code CLI
Add to .mcp.json in your project root:
{
"mcpServers": {
"jambonz": {
"command": "npx",
"args": ["-y", "@jambonz/mcp-schema-server"]
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"jambonz": {
"command": "npx",
"args": ["-y", "@jambonz/mcp-schema-server"]
}
}
}VS Code
Add to .vscode/mcp.json:
{
"servers": {
"jambonz": {
"command": "npx",
"args": ["-y", "@jambonz/mcp-schema-server"]
}
}
}Remote Hosted Server
A hosted instance is available at:
https://mcp-server.jambonz.app/mcpTo use the remote server in .mcp.json:
{
"mcpServers": {
"jambonz": {
"type": "url",
"url": "https://mcp-server.jambonz.app/mcp"
}
}
}Development
Local Testing
npm install
npm run build
node dist/index.js # stdio transport
node dist/index.js --http # HTTP on port 3000Release Process
Publishing is handled by GitHub Actions on v* tags. To release:
# After updating dependencies in package.json
npm install
git add -A && git commit -m "chore: update dependencies"
# Bump version and create tag
npm version patch # or minor/major
# Push commit and tag to trigger publish workflow
git push origin main --tagsLinks
@jambonz/schema -- schema package this server exposes
jambonz.org -- platform documentation
License
MIT
Available Tools
4 toolsget_jambonz_schemaA
Get the JSON Schema for a jambonz verb or component. Available: verb:agent, verb:alert, verb:answer, verb:conference, verb:config, verb:deepgram_s2s, verb:dequeue, verb:dial, verb:dialogflow, verb:dtmf, verb:dub, verb:elevenlabs_s2s, verb:enqueue, verb:gather, verb:google_s2s, verb:hangup, verb:leave, verb:listen, verb:llm, verb:message, verb:openai_s2s, verb:pause, verb:play, verb:redirect, verb:rest_dial, verb:room, verb:s2s, verb:say, verb:sip-decline, verb:sip-refer, verb:sip-request, verb:stream, verb:tag, verb:transcribe, verb:transfer, verb:ultravox_s2s, component:actionHook, component:actionHookDelayAction, component:amd, component:auth, component:bidirectionalAudio, component:fillerNoise, component:handoff, component:hangup, component:llm-base, component:recognizer-assemblyAiOptions, component:recognizer-awsOptions, component:recognizer-azureOptions, component:recognizer-customOptions, component:recognizer-deepgramOptions, component:recognizer-elevenlabsOptions, component:recognizer-gladiaOptions, component:recognizer-googleOptions, component:recognizer-houndifyOptions, component:recognizer-ibmOptions, component:recognizer-nvidiaOptions, component:recognizer-openaiOptions, component:recognizer-sonioxOptions, component:recognizer-speechmaticsOptions, component:recognizer-xaiOptions, component:recognizer, component:synthesizer, component:target, component:transferOptions, component:vad, callback:agent-turn, callback:amd, callback:call-status, callback:conference-status, callback:conference-wait, callback:conference, callback:dequeue, callback:dial-dtmf, callback:dial-hold, callback:dial-refer, callback:dial, callback:enqueue-wait, callback:enqueue, callback:gather-partial, callback:gather, callback:listen, callback:llm, callback:message, callback:play, callback:session-new, callback:session-reconnect, callback:session-redirect, callback:sip-refer-event, callback:sip-refer, callback:sip-request, callback:transcribe-translation, callback:transcribe, callback:transfer, callback:tts-streaming-event, callback:verb-status, guide:bridged-call-patterns, guide:conference-monitoring, guide:session-commands, guide:node-sdk
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Verb or component name (e.g. "say", "gather", "recognizer", "guide:node-sdk") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It only states the return type (JSON Schema) but does not disclose behavioral traits like whether it's read-only, requires authentication, or possible side effects. Minimal transparency beyond the operation's nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the purpose but then becomes verbose with a long list of items. While the list is useful, it could be better structured (e.g., grouped by type) for readability. The length exceeds what is necessary for a concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does not detail the return value structure. However, 'JSON Schema' is self-explanatory for those familiar. The comprehensive input list provides completeness for parameter values, but missing output info slightly reduces overall completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, and description adds significant value by listing all valid values for the 'name' parameter (e.g., verbs, components, callbacks, guides), which goes beyond the schema's brief example. This enriches parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the JSON Schema for a jambonz verb or component.' It identifies the specific verb-resource relationship and distinguishes the tool from siblings like get_sdk_example (examples) and list_jambonz_tools (tools listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over alternatives. Implicitly, if you need a schema, use this; but no mention of prerequisites or when not to use. Does not exclude alternative uses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sdk_exampleA
Get full source code for an SDK example. Available: agent, assemblyai-autogenerate-prompt, bedrock-agent, call-recording, conference-supervision, deepgram-voice-agent, dial, echo, elevenlabs-voice-agent, hello-world, ivr-menu, llm-streaming, openai-realtime, queue-with-hold, realtime-translator, retell-hosted, room-play-tone, room-say, room-with-stream, s2s-move-to-room, stream-record, stream-then-room, two-stage-dialer, ultravox-voice-agent, voice-agent
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Example name (e.g. "echo", "hello-world", "voice-agent"). Available: agent, assemblyai-autogenerate-prompt, bedrock-agent, call-recording, conference-supervision, deepgram-voice-agent, dial, echo, elevenlabs-voice-agent, hello-world, ivr-menu, llm-streaming, openai-realtime, queue-with-hold, realtime-translator, retell-hosted, room-play-tone, room-say, room-with-stream, s2s-move-to-room, stream-record, stream-then-room, two-stage-dialer, ultravox-voice-agent, voice-agent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Get full source code', which is a safe read operation. It does not disclose rate limits or auth, but for a simple retrieval tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence listing examples, which is concise but could be better structured (e.g., bullet list). No redundancy, but front-loading could improve scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description covers purpose and available options adequately. It lacks details on return format but is sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'name' parameter described and listing examples. The description repeats the same list, adding no new meaning beyond the schema. Baseline is 3 due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get full source code for an SDK example' with a specific verb and resource. It also lists all available examples, making the tool's purpose unambiguous. It is distinct from sibling tools like get_jambonz_schema or list_jambonz_tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need SDK example source code, but lacks explicit guidance on when to use versus alternatives or exclusions. Since siblings are unrelated, the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jambonz_developer_toolkitA
REQUIRED: call this before writing jambonz code. Returns the developer guide (verb model, transports, SDK API, patterns), lists all available schemas, and shows pre-built agent tools (weather, search, calculator, etc.) — check these before implementing custom toolHook handlers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes the output but does not discuss side effects, auth needs, or state modifications. For a read-only knowledge retrieval tool, the disclosure is moderately adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with key requirement, no wasted words. Perfectly concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description thoroughly describes the returned items (guide, schemas, tools). Could mention output format but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description adds value by explaining the output content beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the developer guide, schemas, and pre-built tools. It distinguishes from siblings by being a prerequisite and advises checking pre-built tools before implementing custom handlers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'REQUIRED: call this before writing jambonz code' and 'check these before implementing custom toolHook handlers,' providing clear when-to-use guidance. Does not directly name sibling tools as alternatives but implies alternatives exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_jambonz_toolsA
List the pre-built tools from @jambonz/tools (v0.1.4) for jambonz agent apps, with full parameter schemas. Check here BEFORE hand-rolling a toolHook handler — use a ready-made tool if one fits. Available: calculator, get_datetime, web_search, get_weather, wikipedia.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided but the description fully discloses behavior: it lists tools with their schemas. The tool is read-only and non-destructive, appropriately conveyed for a listing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, usage guidance, and enumeration. Front-loaded with the core action, no redundancy, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is fully complete. It tells the agent what to expect (list of tools with schemas) and includes actionable advice, leaving no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so description's mention of listing tools with schemas adds meaningful context. It emphasizes the value of the output without needing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: listing pre-built tools from @jambonz/tools with full parameter schemas. It uses a specific verb 'list' and resource 'pre-built tools', distinguishing it from sibling tools like get_jambonz_schema and get_sdk_example.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to check here before hand-rolling a toolHook handler, encouraging use of ready-made tools if one fits. Also lists available tools, providing clear context for when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.5.2- First observed
get_jambonz_schema - First observed
get_sdk_example - First observed
jambonz_developer_toolkit - First observed
list_jambonz_tools
TDQS
Each tool has a distinct purpose: schema retrieval, example code, developer guide, and tool listing. No overlap in functionality.
Mix of 'get_' prefix for two tools, 'list_' for one, and a noun-phrase name for 'jambonz_developer_toolkit'. Not fully consistent but still readable.
4 tools is appropriate for the server's focused purpose of providing jambonz schema, examples, and developer resources. Not too few or too many.
Covers key developer needs: schema access, examples, developer guide, and pre-built tool listing. No major gaps for its scope.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for agentverse documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the context35850MIT
- AlicenseAqualityDmaintenanceAn MCP server that provides tools for exploring large OpenAPI schemas without loading entire schemas into LLM context. Perfect for discovering and analyzing endpoints, data models, and API structure efficiently.914MIT
- FlicenseAqualityDmaintenanceProvides AI assistants with real-time access to the AGNO framework documentation by enabling them to browse, search, and fetch documentation pages. This server allows users to query information about AGNO's Agents, Teams, and Workflows directly through MCP-compatible clients.16-
- FlicenseAqualityCmaintenanceAn MCP server that provides AI clients with access to developer documentation via llms.txt files. Exposes tools, resources, and prompts.31-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jambonz/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server