Story SDK MCP Server
About
An MCP server for the Story SDK and Storyscan Block Explorer
Details
- License
- MIT
Explore
- IPFS & Metadata: upload images, create and upload IP metadata (requires PINATA_JWT)
- License Management: get terms, mint license tokens, predict fees
- IP Asset Management: register NFTs, attach license terms, mint and register with terms
- NFT Collection Tools: create SPG NFT collections, get minting fee
- Revenue & Royalty: pay royalties, claim all revenue from child IPs
- Dispute & Token Tools: raise disputes, deposit/transfer WIP, check ERC20 balances, mint test ERC20 tokens
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Story SDK MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Python 3.12+
- UV package manager
You can configure project-specific MCP servers using .cursor/mcp.json. The file follows this format:
{
"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"
]
}
}
}
The project includes a test runner script (run_tests.py) that handles environment setup and test execution. To run tests:
1. Install test dependencies:
uv sync --extra test
2. Run all tests:
uv run python run_tests.py
3. Run specific test categories:
The tests use a .env.test file with mock credentials for testing. This file is automatically loaded by the test runner.
To set up your test environment:
1. Copy the example file to create your own .env.test:
bashcp .env.test.example .env.test
2. Edit the .env.test file to include your test credentials:
bashThe Composer Agent will automatically use any MCP tools that are listed under Available Tools on the MCP settings page if it determines them to be relevant. To prompt tool usage intentionally, simply tell the agent to use the tool, referring to it either by name or by description.
When the Agent wants to use an MCP tool, it will display a message asking for your approval.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"story sdk mcp server": {
"story-sdk-mcp": {
"command": "uv",
"args": [
"sync"
]
}
}
}
}
McpServers
{
"story-sdk-mcp": {
"command": "uv",
"args": [
"sync"
]
}
}
Provides tools for interacting with Story Protocol's Python SDK.
Tools:
IPFS & Metadata Tools (requires PINATA_JWT):
- upload_image_to_ipfs: Upload an image to IPFS using Pinata API and return the URI
- create_ip_metadata: Create and upload both NFT and IP metadata to IPFS
License Management Tools:
- get_license_terms: Retrieve license terms for a specific ID
- get_license_minting_fee: Get the minting fee for a specific license terms ID
- get_license_revenue_share: Get the commercial revenue share percentage for a specific license terms ID
- mint_license_tokens: Mint license tokens for a given IP and license terms (auto-approves WIP tokens)
- predict_minting_license_fee: Pre-compute the minting license fee for given IP, license terms and amount
IP Asset Management Tools:
- register: Register an NFT as IP, creating a corresponding IP record
- attach_license_terms: Attach license terms to an IP asset
- mint_and_register_ip_with_terms: Mint and register an IP with terms
NFT Collection Tools:
- create_spg_nft_collection: Create a new SPG NFT collection that can be used for minting and registering IP assets
- get_spg_nft_minting_token: Get the minting fee required by an SPG NFT contract
Revenue & Royalty Tools:
- pay_royalty_on_behalf: Pay royalties to a receiver IP asset on behalf of a payer IP asset (auto-approves tokens)
- claim_all_revenue: Claim all revenue from child IPs of an ancestor IP with optional auto-transfer
Dispute Tools:
- raise_dispute: Raise a dispute against an IP asset (auto-approves WIP bond tokens)
Token Management Tools:
- deposit_wip: Wrap IP to WIP and deposit to wallet
- transfer_wip: Transfer WIP tokens to a recipient
- get_erc20_token_balance: Get the balance of any ERC20 token for an account
- mint_test_erc20_tokens: Mint test ERC20 tokens if the contract has a public mint/faucet function
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



