AsyncAPI-MCP
AsyncAPI MCPサーバー
AIアシスタントがAsyncAPI仕様にアクセスできるようにするMCP(Model Context Protocol)サーバーです。コーディングツールから直接、仕様の検索、探索、任意のバージョンの取得が可能です。
Glamaのブラウザで試す — インストール不要です。
機能
検索: キーワードでAsyncAPI仕様を検索
取得: 見出しやスラッグで特定のセクションを取得
一覧: GitHubタグとして利用可能なすべての安定版仕様バージョンを一覧表示
メタデータ取得: 仕様に関するメタデータ(バージョン、ソース、キャッシュ情報、サイズ)を取得
バージョン対応: リリース済みの任意の仕様バージョンをクエリ可能(デフォルトは最新)
キャッシュ: ETag/Last-ModifiedベースのHTTPキャッシュ(タグ検索には10分間のTTL)
Related MCP server: EasyPeasyMCP
クイックスタート
リモート (Glama)
Glamaでホストされているサーバーを使用します。ローカル設定は不要です。MCPクライアント設定に以下を追加してください:
{
"mcpServers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}クライアント固有の手順については、以下の設定セクションを参照してください。
ローカル (セルフホスト)
前提条件
Node.js v20以降
インストール
npm installビルド
npm run build実行
ストリーマブルHTTP(ローカル開発用):
npm run devサーバーはデフォルトで http://localhost:3000/mcp で起動します。別のポートを使用するには PORT 環境変数を設定してください:
PORT=8080 npm run devStdio(デプロイ用):
npm start利用可能なツール
ツール | 説明 | パラメータ |
| GitHubタグとして利用可能な安定版AsyncAPI仕様バージョンを一覧表示 | なし |
| 仕様のソース、バージョン、キャッシュ、サイズメタデータを返す |
|
| 仕様を検索し、一致するスニペットを返す |
|
| 生のAsyncAPI YAMLまたはJSONコンテンツを検証し、検証エラーを返す |
|
| 見出しテキストまたはスラッグでセクションを返す |
|
利用可能なリソース
リソース | URI | 説明 |
最新のAsyncAPI仕様 |
| masterブランチの最新のAsyncAPIマークダウン仕様 |
バージョン別AsyncAPI仕様 |
| 一致するGitHubリリースから取得された特定のバージョンの仕様 |
AIコーディングツールの設定
リモート (Glamaホスト)
Glamaホストのサーバーに接続するには、これらの設定を使用してください。ローカル設定は不要です。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) に追加してください:
{
"mcpServers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}Cursor
プロジェクトルートの .cursor/mcp.json に追加してください:
{
"mcpServers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}VS Code Copilot
プロジェクトルートの .vscode/mcp.json に追加してください:
{
"servers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp",
"type": "http"
}
}
}Windsurf
WindsurfのMCP設定に追加してください:
{
"mcpServers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}Cline
ClineのMCP設定に以下を追加してください:
{
"mcpServers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}OpenCode
OpenCode設定に追加してください:
{
"mcp": {
"servers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}
}Zed
Zedの settings.json に追加してください:
{
"context_servers": {
"asyncapi": {
"url": "https://glama.ai/mcp/servers/Souvikns/asyncapi-mcp"
}
}
}ローカル (セルフホスト)
npm run dev でサーバーをローカル実行する場合にこれらの設定を使用してください。接続前にサーバーが起動していることを確認してください。
Claude Desktop
{
"mcpServers": {
"asyncapi": {
"url": "http://localhost:3000/mcp"
}
}
}Cursor
{
"mcpServers": {
"asyncapi": {
"url": "http://localhost:3000/mcp"
}
}
}VS Code Copilot
{
"servers": {
"asyncapi": {
"url": "http://localhost:3000/mcp",
"type": "http"
}
}
}Windsurf / Cline / OpenCode / Zed
上記設定のGlama URLを http://localhost:3000/mcp に置き換えてください。
デプロイ
このサーバーは Glama.ai にデプロイされています。ホストされているインスタンスについては glama.ai/mcp/servers/Souvikns/asyncapi-mcp を参照してください。
独自のインスタンスをデプロイするには、stdioトランスポートでビルドして実行します:
npm run build
npm startコンテナデプロイ用の Dockerfile が含まれています:
docker build -t asyncapi-mcp .
docker run -p 3000:3000 asyncapi-mcp使用例
設定が完了すると、AIアシスタントに以下のような質問ができます:
「AsyncAPI仕様ではサーバーオブジェクトについて何と言っていますか?」
「AsyncAPI仕様で 'channels' を検索して」
「バージョン 2.6.0 の Info Object セクションを取得して」
「利用可能なすべてのAsyncAPI仕様バージョンを一覧表示して」
「AsyncAPI 2.x と 3.x のメッセージの違いは何ですか?」
「スキーマ定義に関する仕様セクションを見せて」
開発
# Install dependencies
npm install
# Build TypeScript to dist/
npm run build
# Run the HTTP server (local development)
npm run dev
# Run the stdio server (for deployment)
npm start
# Type-check without emitting
npx tsc --noEmitAvailable Tools
5 toolsget_asyncapi_spec_metadataGet AsyncAPI Spec MetadataA
Return source, version, cache, and size metadata for the latest AsyncAPI specification.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Optional spec version, for example "3.0.0". Defaults to latest from master. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes what is returned but does not disclose side effects, authentication needs, or error behavior (e.g., if version not found). Adequate but minimal.
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?
Single sentence of 12 words, front-loaded with key information. No fluff or redundancy.
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 optional parameter and no output schema, the description is largely complete. Could specify the output format, but the complexity is low and the listed metadata fields are sufficient.
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?
Single parameter 'version' is fully described in schema with example and default behavior (100% coverage). Tool description adds no extra meaning, so baseline score is appropriate.
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?
Description clearly states it returns metadata (source, version, cache, size) for the latest AsyncAPI spec, distinguishing it from siblings like get_asyncapi_spec_section (returns a section) and list_asyncapi_spec_versions (lists versions).
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?
Implied usage: when metadata about the spec is needed. The optional version parameter is noted, but no explicit contrast with alternatives like search or validate is provided. Clear enough given sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_asyncapi_spec_sectionGet AsyncAPI Spec SectionA
Return one section from the latest AsyncAPI markdown specification by heading text or slug.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Optional spec version, for example "3.0.0". Defaults to latest from master. | |
| heading | Yes | Heading text or slug, for example "Info Object" or "info-object". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not specify return format (e.g., markdown text), error handling for missing headings, or whether it is read-only. The behavioral details are insufficient.
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?
One sentence with no fluff. The description front-loads the key action and resource, making it efficient and clear.
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 simplicity (2 params, no output schema), the description covers the core purpose. However, it lacks details on return format and error behavior, which are needed for full completeness without annotations.
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%, so baseline is 3. The description adds minimal extra context (e.g., 'latest from master') but mainly restates schema info. No significant value added beyond the 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 verb 'Return', the resource 'one section from the latest AsyncAPI markdown specification', and the mechanism 'by heading text or slug'. It distinctively differentiates from sibling tools like get_asyncapi_spec_metadata or search_asyncapi_spec.
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 versus alternatives. The description implies use when a specific section is needed by heading, but lacks exclusion criteria or comparisons with other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_asyncapi_spec_versionsList AsyncAPI Spec VersionsA
List stable AsyncAPI specification versions available as GitHub tags.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states it lists stable versions from GitHub tags, lacking details on data freshness, rate limits, pagination, or whether it's read-only. Minimal behavioral disclosure.
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, concise sentence with no unnecessary words. It is front-loaded and efficient.
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 list tool with no parameters and no output schema, the description is minimally adequate. However, it does not describe the output format (list of strings, objects, etc.) or any potential side effects, leaving gaps in 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?
There are no parameters, so schema coverage is 100% trivially. The description adds no parameter-level detail, but given zero parameters, the baseline of 4 is justified.
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 uses the verb 'list' and specifies the resource 'stable AsyncAPI specification versions available as GitHub tags'. It clearly distinguishes from sibling tools which focus on metadata, sections, search, or validation.
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 its use to retrieve version lists but provides no explicit guidance on when to use this tool over alternatives or any exclusions. Given the simple nature, a score of 3 (implied usage) is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_asyncapi_specSearch AsyncAPI SpecA
Search the latest AsyncAPI markdown specification and return matching snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Optional spec version, for example "3.0.0". Defaults to latest from master. | |
| query | Yes | Search query to find in the AsyncAPI specification. | |
| limit | No | Maximum number of matching snippets to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior: it searches the latest spec and returns snippets. However, it does not mention behavior on empty queries, error handling, or the snippet format needed for proper use.
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 concise sentence that front-loads the key action and resource. Every word is necessary and there is no superfluous content.
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 tool has 3 parameters and no output schema, the description is too sparse. It does not explain return value format, pagination, or behavior when no results are found, leaving gaps for a complete understanding.
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%, so the description adds little beyond what the schema already provides. The word 'latest' hints at version default, but the schema already describes version semantics adequately.
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 verb 'Search', the resource 'AsyncAPI markdown specification', and the output 'matching snippets'. It distinguishes from sibling tools like get_asyncapi_spec_section or list_asyncapi_spec_versions, which have different purposes.
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 for searching the spec, but does not provide explicit guidance on when to use this tool versus alternatives or special conditions. No when-not or alternative hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_asyncapi_specValidate AsyncAPI SpecB
Validate raw AsyncAPI YAML or JSON content and return validation errors if the spec is invalid.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | Raw AsyncAPI document content as YAML or JSON. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions returning errors for invalid specs but does not clarify behavior for valid specs (e.g., empty list vs success message). No mention of permissions, side effects, or performance.
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?
Single sentence, direct and complete. No unnecessary words.
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 validation tool with one parameter and no output schema, the description covers the basic purpose and input. However, it lacks explicit mention of the return format (e.g., list of errors) which would improve 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 description coverage is 100% (single parameter 'spec' described as 'Raw AsyncAPI document content as YAML or JSON.'). Description adds no extra parameter info beyond the schema, so baseline 3 is appropriate.
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?
Description clearly states verb 'validate', resource 'AsyncAPI YAML or JSON content', and outcome 'return validation errors'. Clearly distinguishes from sibling tools that handle metadata, sections, versions, and search.
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 guidance on when to use this tool versus alternatives like get_asyncapi_spec_metadata or search_asyncapi_spec. The description does not specify prerequisites or contexts where validation is appropriate.
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.
1 tool update
v0.1.1- Added
validate_asyncapi_spec
4 tool updates
v0.1.0- First observed
get_asyncapi_spec_metadata - First observed
get_asyncapi_spec_section - First observed
list_asyncapi_spec_versions - First observed
search_asyncapi_spec
TDQS
Scored across 5 tools
Each tool serves a distinct purpose: metadata retrieval, section access, version listing, search, and validation. No overlap in functionality.
All tools follow a consistent verb_noun pattern with snake_case, such as 'get_asyncapi_spec_metadata' and 'validate_asyncapi_spec', making it predictable.
With 5 tools, the server covers the core operations for an AsyncAPI spec explorer without being too sparse or excessive.
The tool set covers metadata, sections, versions, search, and validation. Minor gap: no direct way to retrieve the entire raw spec, though sections and search can compensate.
Maintenance
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for AI access to Swagger by SmartBear.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to search, discover, and retrieve technical specifications from a SpecLib instance. It provides tools for full-text search, scope listing, and reading specs as markdown content.-
- AlicenseNot gradedqualityCmaintenanceA lightweight, zero-config MCP server that makes documentation and API specifications instantly accessible to AI models using the llms.txt standard. It enables searching and retrieving full documentation, OpenAPI, and AsyncAPI specs without requiring a complex RAG infrastructure or vector database.10 npm1Apache 2.0
- AlicenseAqualityAmaintenanceMCP server that helps AI agents explore OpenAPI specs, search endpoints, and generate TypeScript types.720 npm10MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for AsyncAPI that enables parsing, validation, linting, conversion, model generation, and template generation from any MCP client using stdio.17 npmApache 2.0