ifly-spark-agent-mcp

ifly-spark-agent-mcp

By iflytek GitHub

This is a simple example of using MCP Server to invoke the task chain of the iFlytek SparkAgent Platform.

Overview

what is ifly-spark-agent-mcp?

ifly-spark-agent-mcp is a simple example project that demonstrates how to use the MCP Server to invoke the task chain of the iFlytek SparkAgent Platform.

how to use ifly-spark-agent-mcp?

To use this project, clone the repository from GitHub and follow the instructions in the README to set up the MCP Server and invoke the task chain.

key features of ifly-spark-agent-mcp?

  • Demonstrates the integration with the iFlytek SparkAgent Platform
  • Provides a simple example of task chain invocation
  • Open-source project under MIT license

use cases of ifly-spark-agent-mcp?

  1. Integrating AI capabilities into applications using the iFlytek SparkAgent.
  2. Automating tasks through the MCP Server.
  3. Learning how to work with task chains in the iFlytek ecosystem.

FAQ from ifly-spark-agent-mcp?

  • What is the MCP Server?

The MCP Server is a platform that allows for the invocation of task chains in the iFlytek SparkAgent environment.

  • Is this project free to use?

Yes! This project is open-source and available under the MIT license.

  • Where can I find more information?

You can find more information and documentation on the project's GitHub page: https://github.com/iflytek/ifly-spark-agent-mcp.

Content

ifly-spark-agent-mcp

This is a simple example of using MCP Server to invoke the task chain of the iFlytek SparkAgent Platform.

Usage

Local debugging

Start the server using either stdio (default) or SSE transport:

# Using stdio transport (default)
uv run ifly-spark-agent-mcp

# Using SSE transport on custom port
uv run ifly-spark-agent-mcp --transport sse --port 8000

By default, the server exposes a tool named "upload_file" that accepts one required argument:

  • file: The path of the uploaded file

MCP Client Example

Using the MCP client, you can use the tool like this using the STDIO transport:

import asyncio
from mcp.client.session import ClientSession
from mcp.client.stdio import StdioServerParameters, stdio_client


async def main():
    async with stdio_client(
        StdioServerParameters(command="uv", args=["run", "ifly-spark-agent-mcp"])
    ) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()

            # List available tools
            tools = await session.list_tools()
            print(tools)

            # Call the upload_file tool
            result = await session.call_tool("upload_file", {"file": "/path/to/file"})
            print(result)


asyncio.run(main())

Usage with MCP client

Use on Claude

To add a persistent client, add the following to your claude_desktop_config.json or mcp.json file:

1. Use uv
{
  "mcpServers": {
    "ifly-spark-agent-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/ifly-spark-agent-mcp",
        "run",
        "ifly-spark-agent-mcp"
      ],
      "env": {
        "IFLY_SPARK_AGENT_BASE_URL": "xxxx",
        "IFLY_SPARK_AGENT_APP_ID": "xxxx",
        "IFLY_SPARK_AGENT_APP_SECRET": "xxxx"
      }
    }
  }
}
2. Use uvx with github repository
{
    "mcpServers": {
        "ifly-spark-agent-mcp": {
            "command": "uvx",
            "args": [
                "--from",
                "git+https://github.com/iflytek/ifly-spark-agent-mcp",
                "ifly-spark-agent-mcp"
            ],
            "env": {
              "IFLY_SPARK_AGENT_BASE_URL": "xxxx",
              "IFLY_SPARK_AGENT_APP_ID": "xxxx",
              "IFLY_SPARK_AGENT_APP_SECRET": "xxxx"
            }
        }
    }
}
No tools information available.
No content found.