故事IP管理平台

@piplabs/story-mcp-hub
0 Stars 389 次浏览 piplabs 更新于 2026-08-23

提供了用于管理IP资产和许可证的工具,可以与Story Python SDK进行交互,并处理诸如铸造代币、注册IP以及将元数据上传到IPFS等操作。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Story MCP Hub

本仓库作为Story Protocol的Model Context Protocol (MCP) 服务器的中心枢纽。它提供了一个统一的环境来运行和管理各种MCP服务,使AI代理能够与Story Protocol生态系统进行交互。

项目结构

story-mcp-hub/
├── storyscan-mcp/       # MCP server for blockchain data queries via StoryScan
├── story-sdk-mcp/       # MCP server for Story Protocol SDK interactions
├── utils/               # Shared utilities for MCP servers
├── .venv/               # Python virtual environment
├── pyproject.toml       # Project dependencies and configuration
├── .python-version      # Python version specification
└── README.md            # This file
graph TD
    subgraph "MCP Hub"
        style MCP Hub fill:#F5F5FF,stroke:#9999CC,stroke-width:2px,rx:10,ry:10
        Agent["AI Agent<br>(Claude, IDEs, Tools)"]
        style Agent fill:#E6E6FA,stroke:#9370DB,stroke-width:2px,rx:8,ry:8
    end

    subgraph "StoryScan MCP Server"
        style StoryScan MCP Server fill:#F0F8FF,stroke:#87CEFA,stroke-width:2px,rx:10,ry:10
        StoryscanService["StoryScan Service"]
        style StoryscanService fill:#E6E6FA,stroke:#9370DB,stroke-width:2px,rx:8,ry:8

        subgraph "StoryScan Tools"
            style StoryScan Tools fill:#F0FFFF,stroke:#5F9EA0,stroke-width:2px,rx:10,ry:10
            StoryscanToolset["Balance & Stats<br>check_balance,<br>get_address_overview,<br>get_transactions,<br>interpret_transaction,<br>get_token_holdings,<br>get_nft_holdings,<br>get_stats"]
            style StoryscanToolset fill:#E0FFFF,stroke:#5F9EA0,stroke-width:2px,rx:8,ry:8
        end
    end

    subgraph "Story SDK MCP Server"
        style Story SDK MCP Server fill:#F5FFFA,stroke:#98FB98,stroke-width:2px,rx:10,ry:10
        StoryService["Story Service"]
        style StoryService fill:#E6E6FA,stroke:#9370DB,stroke-width:2px,rx:8,ry:8

        subgraph "Story SDK Tools"
            style Story SDK Tools fill:#F0FFF0,stroke:#90EE90,stroke-width:2px,rx:10,ry:10
            IPFSTools["IPFS Tools<br>upload_image_to_ipfs<br>create_ip_metadata"]
            style IPFSTools fill:#E0FFFF,stroke:#5F9EA0,stroke-width:2px,rx:8,ry:8
            IPTools["IP Management Tools<br>mint_and_register_ip_with_terms<br>get_license_terms,<br>mint_license_tokens,<br>send_ip,<br>create_spg_nft_collection"]
            style IPTools fill:#E0FFFF,stroke:#5F9EA0,stroke-width:2px,rx:8,ry:8
        end
    end

    subgraph "External Resources"
        style External Resources fill:#FFF0F5,stroke:#FFB6C1,stroke-width:2px,rx:10,ry:10
        IPFS[(IPFS/Pinata<br>Storage)]
        style IPFS fill:#FFE4E1,stroke:#DB7093,stroke-width:2px,rx:15,ry:15
        Blockchain[(Story Protocol<br>Blockchain)]
        style Blockchain fill:#E0F8E0,stroke:#90EE90,stroke-width:2px,rx:15,ry:15
        StoryScan[(StoryScan/Blockscout<br>API)]
        style StoryScan fill:#E6F3FF,stroke:#87CEFA,stroke-width:2px,rx:15,ry:15
    end

    Agent <--MCP Protocol--> StoryService
    Agent <--MCP Protocol--> StoryscanService
    StoryscanService --> StoryscanToolset
    StoryService --> IPFSTools
    StoryService --> IPTools

    StoryscanToolset <--API Calls--> StoryScan
    IPFSTools <--API Calls--> IPFS
    IPTools <--RPC Calls--> Blockchain

MCP 服务器

StoryScan MCP 服务器

提供查询区块链数据的工具,包括地址余额、交易和区块链统计信息。

工具:

  • check_balance: 检查地址余额
  • get_transactions: 获取地址的最近交易
  • get_stats: 获取当前区块链统计数据
  • get_address_overview: 获取地址的全面概览
  • get_token_holdings: 获取地址的所有ERC-20代币持有情况
  • get_nft_holdings: 获取地址的所有NFT持有情况
  • interpret_transaction: 获取交易的人类可读解释

Story SDK MCP 服务器

提供与Story Protocol的Python SDK交互的工具。

工具:

  • get_license_terms: 根据特定ID检索许可条款
  • mint_license_tokens: 为特定IP和许可条款铸造许可代币
  • send_ip: 使用原生代币转账将IP代币发送到指定地址
  • upload_image_to_ipfs: 将图像上传到IPFS并返回URI
  • create_ip_metadata: 为特定图像URI创建NFT元数据
  • mint_and_register_ip_with_terms: 铸造并注册带有条款的IP

设置

前提条件

  • Python 3.12+
  • UV包管理器

安装

  1. 安装UV包管理器并安装环境:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆此仓库:
git clone https://github.com/piplabs/story-mcp-hub.git
cd story-mcp-hub
  1. 使用UV安装依赖项:
uv sync
  1. 为每个服务器设置环境变量:

对于StoryScan MCP:

cd storyscan-mcp
cp .env.example .env
# Edit .env with your StoryScan API endpoint

对于Story SDK MCP:

cd story-sdk-mcp
cp .env.example .env
# Edit .env with your wallet private key, RPC provider URL, etc.

运行服务器

StoryScan MCP 服务器检查器

cd storyscan-mcp
uv run mcp dev server.py

Story SDK MCP 服务器

cd story-sdk-mcp
uv run mcp dev server.py

与MCP客户端一起使用

按照以下说明将MCP服务器连接到各种兼容MCP的客户端。

Cursor

Cursor实现了一个支持任意数量MCP服务器的MCP客户端,支持stdiosse传输方式。

在Cursor中添加MCP服务器

  1. 转到Cursor设置 > 功能 > MCP
  2. 点击+ 添加新的MCP服务器按钮
  3. 填写表单:
    • 类型下选择传输方式
    • 名称字段中输入服务器的昵称
    • 根据传输方式输入要运行的命令或服务器的URL
    • 我们将使用uv命令运行服务器,因此请确保包含--directory标志以及指向服务器的路径(例如:uv --directory ~/path/to/story-mcp-hub/storyscan-mcp run server.py

项目特定的MCP配置

您可以使用.cursor/mcp.json配置项目特定的MCP服务器。文件格式如下:

{
  "mcpServers": {
    "storyscan-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "~/path/to/story-mcp-hub/storyscan-mcp",
        "run",
        "server.py"
      ]
    },
    "story-sdk-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "~/path/to/story-mcp-hub/story-sdk-mcp",
        "run",
        "server.py"
      ]
    }
  }
}

在 Cursor 中使用 MCP 工具

如果 Composer Agent 认为相关,它会自动使用 MCP 设置页面上 可用工具 下列出的任何 MCP 工具。要故意提示使用某个工具,只需告诉代理使用该工具,可以通过名称或描述来引用。

当代理想要使用 MCP 工具时,它会显示一条消息请求您的批准。

Claude Desktop

可以通过编辑其配置文件来配置 Claude Desktop 使用 MCP 服务器。

在 Claude Desktop 中添加 MCP 服务器

  1. 打开 Claude Desktop 配置文件:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. 添加 MCP 服务器配置:
{
  "mcpServers": {
    "storyscan-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "~/path/to/story-mcp-hub/storyscan-mcp",
        "run",
        "server.py"
      ],
      // Add environment variables for the server
      "env": {
        "STORY_API_KEY": "your_story_api_key_here",
        "STORYSCAN_API_ENDPOINT": "your_story_api_endpoint_here"
      }
    },
    "story-sdk-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "~/path/to/story-mcp-hub/story-sdk-mcp",
        "run",
        "server.py"
      ],
      // Add environment variables for the server
      "env": {
        "WALLET_PRIVATE_KEY": "your_private_key_here",
        "RPC_PROVIDER_URL": "your_rpc_provider_url_here",
        "PINATA_JWT": "your_pinata_jwt_here"
      }
    }
  }
}
  1. 保存文件并重启 Claude Desktop 以使更改生效。

示例查询:use storyscan to check balance of 0x95A13F457C76d10A40D7e8497eD4F40c53F4d04b

开发

要向中心添加新的 MCP 服务器:

  1. 为您的服务器创建一个新目录
  2. 在您的服务器中实现 MCP 协议
  3. 将所有必要的依赖项添加到根 pyproject.toml 文件
  4. 更新此 README 文件,包含有关您的服务器的信息

故障排除

如果您遇到问题:

  1. 确认每个服务器的环境变量设置正确
  2. 检查到外部 API(如 StoryScan、IPFS 等)的网络连接
  3. 确保您使用的是正确的 Python 版本(3.12+)
  4. 检查是否已通过 uv sync 安装了所有依赖项

许可证

MIT 许可证

相关 MCP 服务