AgentContract MCP Server
Provides a subscription payment link for the MCP server using Stripe.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AgentContract MCP ServerCreate a contract for a market research report between agent-alpha and agent-beta with a deadline of June 1st"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AgentContract MCP Server
Smart contracts between AI agents. A Model Context Protocol (MCP) server for creating, managing, and enforcing binding agreements between AI agents with formal deliverables, deadlines, penalties, and a full lifecycle state machine.
Pricing
$19/month β Subscribe via Stripe
Related MCP server: remit.md MCP Server
Features
π€ Create contracts between two agents with deliverables, deadlines, payment, and milestones
βοΈ Sign contracts β both parties must sign to activate
π Full contract lifecycle: draft β pending_signatures β active β completed / breached / terminated
π Propose amendments to active contracts
π¨ Report breaches with full audit trail
π Query contracts and inspect status history
πΎ Persistent storage β all contracts stored as JSON in
~/.agentcontracts/
Installation
pip install -r requirements.txtUsage
Running the Server (stdio mode)
python server.pyThe server communicates via STDIO transport and is designed to be launched by an MCP client (e.g., Claude Desktop, VS Code, or any MCP-compatible host).
MCP Client Configuration
Add to your MCP client config:
{
"mcpServers": {
"agent-contract": {
"command": "python",
"args": ["/path/to/agent-contract-mcp/server.py"]
}
}
}Tools
1. contract_create
Create a new binding agreement between two agents.
Parameters:
Field | Type | Required | Description |
|
| β | Two agent IDs |
|
| β | List of deliverables |
|
| β | Delivery deadline |
|
| β | Payment amount |
|
| β | Optional milestones |
|
| β | Late delivery penalty |
|
| β | Failure penalty |
Example:
{
"parties": ["agent-alpha", "agent-beta"],
"terms": {
"deliverables": ["Research report on Q2 market trends", "Executive summary"],
"deadline": "2026-06-01T00:00:00Z",
"payment_amount": 5000,
"milestones": ["Draft by May 15", "Final by June 1"]
},
"penalties": {
"late_penalty": 100,
"failure_penalty": 2500
}
}Returns: contract_id, status: "draft"
2. contract_get
Retrieve the full contract with all terms, signatures, amendments, and status history.
Parameters:
Field | Type | Required | Description |
|
| β | UUID of the contract |
Returns: Complete contract object.
3. contract_sign
Sign a contract on behalf of an agent. The contract transitions through the lifecycle:
1st signature:
draftβpending_signatures2nd signature:
pending_signaturesβactive
Parameters:
Field | Type | Required | Description |
|
| β | UUID of the contract |
|
| β | Agent performing the signature |
Constraints:
Agent must be a party to the contract
Each agent can sign only once
Contract must be in
draftorpending_signaturesstatus
4. contract_amend
Propose an amendment to an active contract. Amendments are recorded but do not automatically modify the original terms.
Parameters:
Field | Type | Required | Description |
|
| β | UUID of the contract |
|
| β | Agent proposing the change |
|
| β | Amendment details |
|
| β | Description of changes |
|
| β | Modified term values |
|
| β | Modified penalty values |
Constraints:
Contract must be in
activestatusProposing agent must be a party to the contract
5. contract_status
Get the current lifecycle status of a contract with full history.
Parameters:
Field | Type | Required | Description |
|
| β | UUID of the contract |
Returns: Status, human-readable description, parties, signatures, amendment count, breach record, and full status history timeline.
6. contract_report_breach
Report a breach of contract. Transitions status from active to breached.
Parameters:
Field | Type | Required | Description |
|
| β | UUID of the contract |
|
| β | Agent that breached |
|
| β | Description of the breach |
Constraints:
Contract must be in
activestatusBreached agent must be a party to the contract
Contract Lifecycle
ββββββββββββ
β draft β
βββββββ¬ββββββ
β 1st signature
βββββββΌβββββββββββ
β pending_signaturesβ
βββββββ¬βββββββββββ
β 2nd signature
βββββββΌβββββ
β active β
ββββ¬ββββ¬ββββ
β β
ββββββββββββ ββββββββββββ
βΌ βΌ
ββββββββββββ ββββββββββββ
β completedβ β breached β
ββββββββββββ ββββββββββββ
Any non-terminated state can transition to:
βββββββββββββ
β terminatedβ
βββββββββββββStorage
All contracts are stored as individual JSON files in ~/.agentcontracts/.
~/.agentcontracts/
βββ <contract-uuid-1>.json
βββ <contract-uuid-2>.json
βββ ...Each file contains the complete contract state including terms, signatures, amendments, breach records, and full status history.
Development
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install dependencies
pip install -r requirements.txt
# Run the server
python server.pyLicense
MIT
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rumblingb/agent-contract-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server