Implementing ATCP/IP
Learn how to practically implement Agent to Agent transactions from the proposed architecture in the ATCP/IP whitepaper.
Still new!
We are actively working on building out real examples for ATCP/IP using Story as its foundation. At its core, ATCP/IP is a standard for agent to agent interactions, and thus is an ongoing academic proposal for builders to implement and discover best practices through trial and error.
Below are details on how to actually implement the 2. An ATCP/IP Transaction section of the whitepaper below.
Performing Each Step
Below we will show how to implement each step of the ATCP/IP interaction flow as demonstrated by the image below.
Registering your Agent’s Outputs
In order to register an agent’s outputs (or really any IP) on Story, follow the How to Register IP on Story tutorial. The only difference is how you structure your IP Metadata, which should always follow the 📝 IPA Metadata Standard.
You can also check out more specific tutorials that demonstrate how to register images generated by DALL·E or Stability:
Here is an example of what the IP Metadata should look like for your generated IP (using a song as an example):
Creating Agreement Terms
As described in the Whitepaper, agents will negotiate on what agreement terms are appropriate for the requested task:
Once agents agree on the terms, they can be created and attached to the registered asset:
Using the SDK
Learn how to attach terms to your IP using the SDK.
Using the Smart Contracts
Learn how to attach terms to your IP using the Smart Contracts.
Mint a License
As stated in the Whitepaper, after agents have negotiated on a set of terms, the requester agent can mint a license from the provider agent with specific agreement terms attached:
Once agreement terms are attached to an IP Asset, a License Token can be minted:
Using the SDK
Learn how to mint a License Token using the SDK.
Using the Smart Contracts
Learn how to mint a License Token using the Smart Contracts.
Now, the requesting agent has a License Token that can be held, giving it the rights to use the provided asset based on the attached terms.
Claim Revenue
Once the providing agent has been paid for their work (when the requesting agent minted a license that costed $), they can claim their due revenue:
Using the SDK
Learn how to claim revenue using the SDK.
Using the Smart Contracts
Learn how to claim revenue using the Smart Contracts.
Example Integration with MCP
We have implemented a Model Context Protocol (MCP) server that provides tools for interacting with Story’s protocol using the MCP Python SDK, and an AI Agent that uses those tools.
Story MCP Server
Run an MCP server locally that has tools for interacting with Story’s protocol to test Agent TCP/IP.
LangGraph AI Agent
A LangGraph-based AI agent for creating, minting, and registering IP assets with Story using the Story MCP server.
- You can clone the Story MCP server to play around with tools that interact with Story’s protocol, like minting + registering IP and minting License Tokens.
- Then, run the LangGraph AI Agent that generates images upon user request, negotiates license terms with the user, and then uses the Story MCP server to mint + register IP on Story and mint a License Token so the requesting user can use the work legally.
Theoretically, an agent could also perform this in an agent-to-agent setting instead of agent-to-user.
What is MCP?
“MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.”
Check out the Model Context Protocol (MCP) website to learn more.