Genesys Flow MCP
Genesys Flow MCP
Genesys Cloud に接続し、IVR ルートを一覧表示し、IVR の設定済み営業時間内フローを取得して、読みやすい Markdown ドキュメントを生成するローカル MCP サーバーです。
生成されたドキュメントは、ビジネス関係者と技術者の両方を対象とした構成になっています。
ルート — IVR 名、ID、状態、DNIS(利用可能な場合)、および設定済みフロー。
ビジネス面 — フローの目的と顧客メニューのルーティング。
技術面 — フロー設定、変数、プロンプト/TTS、タスク、メニュー、分岐パス。
統合とルーティングの依存関係 — データアクション、ボットフロー、ACD キュー。
前提条件
Node.js 18 以降
クライアント認証情報 付与を使用する Genesys Cloud OAuth クライアント
関連する Genesys Cloud 組織で Architect IVR とフローを読み取る権限
Related MCP server: Hive Mind MCP Server
インストールと設定
依存関係をインストールします。
cd <path-to-genesys-flow-mcp>
npm installプロジェクトのルートに .env ファイルを作成します。
GENESYS_CLIENT_ID=your-client-id
GENESYS_CLIENT_SECERET=your-client-secret
GENESYS_REGION=ie重要:
GENESYS_CLIENT_SECERETは、現在のソースコードに一致するため、意図的にこのように綴られています。src/config/env.tsも更新しない限り、SECRETに名前を変更しないでください。
GENESYS_REGION を Genesys Cloud リージョンのサフィックス(例: mypurecloud.ie の場合は ie)に設定します。
ローカルでの実行
開発用:
npm run devデスクトップクライアントが使用するコンパイル済みサーバーの場合:
npm run build
npm startサーバーは MCP stdio トランスポートを使用します。MCP クライアントによって起動されます。ブラウザの URL や HTTP ポートを公開しません。
MCP Inspector でテストする
MCP Inspector を使用して、Claude Desktop に接続する前にサーバーを直接テストします。
cd <path-to-genesys-flow-mcp>
npm run inspectInspector によってローカルブラウザのインターフェースが開きます。その中で:
デフォルトの stdio 設定を使用してサーバーに接続します。
ツール タブを開きます。
get_ivrsを実行して、Genesys の認証とルートの取得を確認します。IVR 名を指定して
get_flow_by_nameを実行します。例:{ "name": "testt call" }レスポンスが ルート セクションで始まり、設定済みのフロー、プロンプト、統合が含まれていることを確認します。
利用可能なツール
get_ivrs
Genesys Cloud のルーティング/IVR リストを返します。
リクエスト例:
List the available Genesys IVRs.get_flow_by_name
名前で IVR を検索し、設定されている営業時間内フローを取得して、Markdown ドキュメントを返します。
入力:
{
"name": "testt call"
}リクエスト例:
Use get_flow_by_name for the IVR named "testt call".IVR が見つからない場合、または営業時間内フローがない場合は、問題を説明するエラーが返されます。
生成されるドキュメントの内容
ドキュメントは以下の関係に従います:
Genesys IVR Route
↓
Configured Open-Hours Flow
├── Business Focus: customer routing and menu choices
└── Technical Focus: prompts, variables, tasks, menus, integrations統合の検出は、以下の一般的な Architect の依存関係を対象としています:
Architect 要素 | ドキュメント上の表記 |
| データアクション / Web サービスデータアクション |
| ボットフロー(名前とフロー ID を含む) |
| ACD キュー |
タスクやメニューの挨拶で見つかったすべての TTS プロンプトは、技術的なフローの説明に含まれます。
Claude Desktop でテストする
プロジェクトをビルドします:
cd <path-to-genesys-flow-mcp> npm run buildClaude Desktop で、以下を開きます:
File → Settings → Developer → Edit Config開いた JSON ファイルの最上位レベルに次を追加します。
preferencesなど既存の設定は保持してください。{ "mcpServers": { "genesys-flow": { "command": "node", "args": [ "<path-to-genesys-flow-mcp>\\dist\\index.js" ], "env": { "GENESYS_CLIENT_ID": "your-client-id", "GENESYS_CLIENT_SECERET": "your-client-secret", "GENESYS_REGION": "ie" } } } }<path-to-genesys-flow-mcp>をローカルプロジェクトフォルダのフルパスに置き換えます。ファイルにすでにプロパティが含まれている場合は、mcpServersをそれらに追加し、前のプロパティがカンマで終わっていることを確認します。Claude Desktop を完全に終了して、再度開きます。
新しいチャットを開始して、次のように尋ねます:
What Genesys tools are available?次に、ドキュメントをテストします:
Use get_flow_by_name for the IVR named "testt call" and document its route, configured flow, prompts, and integrations.
クライアントシークレットが含まれている場合は、Claude Desktop の設定をコミットしたり共有したりしないでください。個人用デバイスでのローカルテストでは、MCP の env ブロックを介して認証情報を渡しても問題ありません。最小限の必要な Genesys 権限を持つ専用の OAuth クライアントを使用してください。
ビルドチェック
コード変更後に TypeScript のビルドチェックを実行します:
npm run buildプロジェクト構成
src/
├── config/ Environment variable validation
├── mcp/ MCP server and tool registration
├── services/ Genesys authentication, API access, and documentation generation
├── tools/ MCP tool handlers
└── types/ Genesys Cloud response typesAvailable Tools
2 toolsget_flow_by_nameB
Get a documented Genesys flow by IVR name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | IVR name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It only states the action (get by name) and adds the adjective 'documented' as a constraint, but does not disclose output format, error behavior, authentication needs, or whether the operation is safe/read-only. Minimal behavioral context beyond the name.
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?
A single, front-loaded sentence with the verb and resource clearly stated. No filler or redundancy. Every word earns its place.
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 one-parameter lookup tool, the description covers the core purpose. However, with no output schema, it omits return value details (what a 'documented flow' looks like) and does not disambiguate from the sibling tool. Adequate but with notable 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?
Schema coverage is 100% with the 'name' parameter described as 'IVR name'. The description repeats this same context, adding no new meaning beyond the schema. Baseline of 3 applies.
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 a specific verb 'Get' and resource 'documented Genesys flow' with a clear lookup scope ('by IVR name'). It effectively distinguishes itself from the sibling tool 'get_ivrs' by targeting flows rather than IVR lists.
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 when-to-use or alternatives are provided. The sibling tool 'get_ivrs' is not mentioned, and the description does not clarify when to choose this over getting IVRs. Guidance is only implicit via the IVR name parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ivrsA
Get all available IVRs from Genesys Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose any behavioral aspects such as permissions, side effects, or rate limits.
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 superfluous words, perfectly sized for its simplicity.
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 adequately conveys that the tool returns all available IVRs, satisfying the need for a simple list retrieval.
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 the description fully covers the input schema; no additional explanation needed.
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 'Get' and the resource 'all available IVRs', distinct from the sibling tool 'get_flow_by_name' which targets flows.
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 versus alternatives; usage is implied as the go-to for fetching all IVRs.
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.
2 tool updates
v1.0.0- First observed
get_flow_by_name - First observed
get_ivrs
TDQS
Scored across 2 tools
The two tools are distinct: one retrieves IVRs, the other retrieves a flow by name. However, the second tool's description is unclear about what 'documented' means and how it relates to the IVR name, which could cause slight confusion.
Both tools follow the get_ pattern with noun complements (ivrs, flow_by_name). The naming is mostly consistent but 'flow_by_name' includes a qualifier that 'ivrs' lacks, a minor deviation.
With only two tools, the server covers a very narrow scope. While this may be appropriate for a minimal integration, it feels thin and may not justify a dedicated server.
The domain appears to be IVR and flow management, but only retrieval operations are present. Missing operations like creating, updating, or deleting flows/IVRs are significant gaps, leaving the surface incomplete.
Maintenance
Related MCP Connectors
Generate wiki docs from source code. Supports PowerShell, Python, Go, C#, Java, COBOL.
- RulebaseOAuthco.rulebase
CX ops: read conversations, calls and QA evaluations from Zendesk, Freshdesk, Five9 and more.
Turn calls, notes, and code into process flow diagrams. Send them to Jira, Notion, and more.
1Publish Markdown incident reports, ADRs, RFCs and runbooks as web pages, with team spaces.
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceAutomates the creation of standardized documentation by extracting information from source files and applying templates, with integration capabilities for GitHub, Google Drive, and Perplexity AI.33-
- AlicenseNot gradedqualityDmaintenanceAutomatically generates and maintains living documentation for codebases by creating hierarchical hivemind.md files and flowchart diagrams at every directory level, enabling AI navigation and real-time or retroactive documentation of code structure, requirements, and dependencies.MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to navigate and query hierarchical documentation structures, supporting markdown files with YAML metadata and OpenAPI 3.x specifications. It features intelligent full-text search, metadata filtering, and a built-in web interface for both human and AI-driven documentation access.6MIT
- FlicenseNot gradedqualityDmaintenanceAutomatically generates comprehensive wiki documentation from any codebase, including Mermaid diagrams, source code citations, and automated quality checks.2-