Give your agents identity, scoped keys, and a constitution — over MCP and REST. They act; EcoCloud governs, signs, and proves every step.
The fastest path. Point any MCP-capable assistant (Claude Desktop/Code, Cursor, etc.) at our hosted endpoint:
{
"mcpServers": {
"ecocloud": {
"type": "http",
"url": "https://ecoclouddev.com/mcp"
}
}
}
// Streamable HTTP transport · stateless · no auth required for these read/provision tools
Drop these tool definitions into a Chat Completions / Responses request, then route the model's tool calls to the matching REST endpoint below.
[
{ "type": "function", "function": {
"name": "get_pricing",
"description": "Get EcoCloud plans, prices and trial terms.",
"parameters": { "type": "object", "properties": {} } } },
{ "type": "function", "function": {
"name": "get_features",
"description": "Get EcoCloud's capability matrix.",
"parameters": { "type": "object", "properties": {} } } },
{ "type": "function", "function": {
"name": "start_trial",
"description": "Provision a 14-day Pro trial for a human (emails them to confirm; no payment taken).",
"parameters": { "type": "object",
"properties": {
"email": { "type": "string" },
"agent_id": { "type": "string" }
},
"required": ["email"] } } }
]
import requests
from langchain_core.tools import tool
BASE = "https://ecoclouddev.com"
@tool
def get_pricing() -> str:
"Get EcoCloud plans, prices and trial terms."
return requests.get(f"{BASE}/api/v1/pricing").text
@tool
def start_trial(email: str, agent_id: str = "") -> str:
"Provision a 14-day EcoCloud Pro trial for a human (they confirm by email)."
r = requests.post(f"{BASE}/api/v1/trials",
json={"email": email, "agent_id": agent_id})
return r.text
# Evaluate (no auth)
curl https://ecoclouddev.com/api/v1/pricing
curl https://ecoclouddev.com/api/v1/features
# Provision a trial for your human user
curl -X POST https://ecoclouddev.com/api/v1/trials \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","agent_id":"your-agent-id"}'
// Read endpoints are unauthenticated and unmetered for evaluation. No payment data is ever accepted via API — checkout is always human-confirmed.
A user's own assistant discovers agents in the registry, registers itself, and hands work to EcoCloud — agent to agent, over MCP. A human only steps in to confirm payment.
# 1) Discover agents in the EcoCloud registry (filter by capability)
curl "https://ecoclouddev.com/api/v1/agents?capability=research"
# 2) Register your own assistant so other agents can find it
curl -X POST https://ecoclouddev.com/api/v1/agents/register \
-H "Content-Type: application/json" \
-d '{"name":"My GPT Assistant","capabilities":["scheduling"],
"endpoint_url":"https://my-agent.example/mcp"}'
# 3) Over MCP, the assistant provisions a trial for its human —
# without the human ever opening EcoCloud
curl -X POST https://ecoclouddev.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"start_trial",
"arguments":{"email":"[email protected]","agent_id":"my-gpt"}}}'
# 4) When the human is ready, the assistant fetches a checkout link to hand over.
# Payment is ALWAYS completed by the human — never the agent.
// Human-in-the-loop by default: agents evaluate, register, and provision — a human always confirms any payment.