iFlytek Workflow MCP Server
Official
by iflytek
<p align="center">
<a href="https://xinghuo.xfyun.cn/botcenter/createbot"><img src="https://openres.xfyun.cn/xfyundoc/2024-04-26/1396db8a-313b-40f5-be2a-5babcad9cd64/1714102184743/sparklogo.svg"></a>
</p>
<p align="center">
The fastest way to build workflows with an AI agent platform!
</p>
<p align="center">
<a href="https://github.com/iflytek/ifly-workflow-mcp-server/blob/main/LICENSE" target="_blank">
<img src="https://img.shields.io/static/v1?label=license&message=MIT licensed&color=white" alt="License">
</a> |
<a href="https://xinghuo.xfyun.cn/botcenter/createbot" target="_blank">
Docs
</a> |
<a href="https://xinghuo.xfyun.cn/botcenter/createbot" target="_blank">
Homepage
</a>
</p>
# iFlytek Workflow MCP Server
[The Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) is an open protocol designed for effortless integration between LLM applications and external data sources or tools, offering a standardized framework to seamlessly provide LLMs with the context they require.
This a simple implementation of an MCP server using iFlytek. It enables calling iFlytek workflows through MCP tools.
## Features
### Functional Overview
This system is built on the iFlytek MCP server and enables intelligent workflow scheduling, making it suitable for various business scenarios.
- **Workflow Structure**: Composed of multiple nodes, supporting 14 types of nodes (including basic, tool, logic, and transformation types).
- **Core Components**: By default, the workflow includes a **Start Node** (user input) and an **End Node** (output result).
- **Execution Mode**: Once triggered, the workflow executes automatically according to predefined sequences and rules, requiring no manual intervention.
### Core Capabilities
#### **Robust Node Support**
- 14 types of workflow nodes to meet diverse business requirements.
- Supports **complex variable I/O**, enabling flexible data transmission.
#### **Advanced Orchestration Modes**
- **Sequential Execution**: Tasks execute one after another in order.
- **Parallel Execution**: Multiple tasks run simultaneously to enhance efficiency.
- **Loop Execution**: Supports iterative loops for handling repetitive tasks.
- **Nested Execution**: Allows embedding sub-workflows within workflows, improving reusability.
- Utilizes the **Hook Mechanism** to enable **streaming output**, ensuring real-time processing.
#### **Multiple Development Paradigms**
- **Single-turn, single-branch**: Linear execution of simple tasks.
- **Single-turn, multi-branch**: Supports branching logic to handle complex processes.
- **Single-turn loop**: Manages looped tasks to enhance automation.
- **Multi-turn interaction**: Supports context memory for dynamic conversations.
### Capability Expansion
- **Multi-Model Support**: Based on the **Model of Models (MoM)** hybrid application architecture, providing multiple model choices at critical workflow stages. This allows for flexible model combinations, improving task adaptability.
## Usage with MCP client
### Prepare config.yaml
Before using the mcp server, you should prepare a config.yaml to save your workflow info. The example config like this:
```yaml
- flow_id: 'flow id' # required
name: 'flow name' # optional, if not set, obtain the name from the cloud.
description: 'flow description' # optional, if not set, obtain the description from the cloud.
api_key: 'API Key:API Secret' # required
```
#### Get workflow authentication information
1. [Create a bot](https://xinghuo.xfyun.cn/botcenter/createbot)

2. Publish a workflow
- **Step 1.** Debug the workflow you just created.
- **Step 2.** Engage in a conversation with your workflow and ensure the conversation is successful.
- **Step 3.** You can now click the publish button.

- **Step 4.** Select "Publish as API" and click the "Configure" button.

- **Step 5.** Select the application you need to bind and bind it. Now you can retrieve the corresponding workflow ID and authentication information. Enjoy!

> **Note**: If you find that you are unable to select an app, you can go to https://www.xfyun.cn to apply.
### Manual Installation
To add a persistent client, add the following to your `claude_desktop_config.json` or `mcp.json` file:
```json
{
"mcpServers": {
"ifly-workflow-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/iflytek/ifly-workflow-mcp-server",
"ifly_workflow_mcp_server"
],
"env": {
"CONFIG_PATH": "$CONFIG_PATH"
}
}
}
}
```
Example config:
```json
{
"mcpServers": {
"ifly-workflow-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/iflytek/ifly-workflow-mcp-server",
"ifly_workflow_mcp_server"
],
"env": {
"CONFIG_PATH": "/Users/hygao1024/Projects/config.yaml"
}
}
}
}
```