EventureAI

EventureAI API

v1.0

Build AI-powered applications with the EventureAI MCP gateway. Access 53 tools across 13 services through a single JSON-RPC 2.0 endpoint.

Base URL: https://eventureai.com/api/mcp
Transport: HTTP (JSON-RPC 2.0)

Authentication

All API requests require authentication. EventureAI uses API keys with SHA-256 hashing for security. Keys are issued per-tenant or per-developer and can be scoped to specific services.

Getting an API Key

Contact the EventureAI team or use the admin API to generate a key. Your API key will be shown exactly once at creation time. Store it securely -- it cannot be retrieved later.

Key Formats

TierPrefixUse Case
Tenanteai_tenant_live_Server-side, full tenant access (300 req/min)
Developereai_dev_live_Developer access, scoped permissions (60 req/min)
Testeai_test_Testing and development (120 req/min, sandbox)

Passing Your Key

Include your API key in any of these locations (checked in order):

Authorization header (recommended)bash
curl https://eventureai.com/api/mcp \
  -H "Authorization: Bearer eai_dev_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
x-api-key headerbash
curl https://eventureai.com/api/mcp \
  -H "x-api-key: eai_dev_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
Query parameter (not recommended for production)bash
curl "https://eventureai.com/api/mcp?api_key=eai_dev_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Rate Limits

Rate limits are enforced per API key on a rolling 1-minute window. Current usage is tracked via response headers.

TierRequests / MinNotes
Developer60Standard developer access
Test120Sandbox environment
Tenant300Full server-side access
EnterpriseCustomContact sales for custom limits

Response Headers

X-RateLimit-Limitinteger

Maximum requests allowed per minute for this key.

X-RateLimit-Remaininginteger

Requests remaining in the current window.

X-RateLimit-Resetunix timestamp

When the current rate limit window resets.

When rate limited, the API returns a standard JSON-RPC error with code -32001 and a descriptive message including your limit.

MCP Protocol

EventureAI implements the Model Context Protocol (MCP) over HTTP using JSON-RPC 2.0. This means any MCP-compatible client (Claude, GPT, custom agents) can connect and use all 53 tools.

Endpoint

POST https://eventureai.com/api/mcp

initialize

Handshake to establish capabilities. Call this first.

Requestjson
{
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {},
  "id": 1
}
Responsejson
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2024-11-05",
    "capabilities": { "tools": {} },
    "serverInfo": { "name": "eventureai", "version": "1.0.0" }
  }
}

tools/list

Discover all available tools and their input schemas.

Requestjson
{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "params": {},
  "id": 2
}
Response (truncated)json
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      {
        "name": "pipeline_start",
        "description": "Start an AI app build...",
        "inputSchema": {
          "type": "object",
          "properties": {
            "prompt": { "type": "string", "description": "What do you want to build?" },
            "tenant_id": { "type": "string", "description": "Tenant ID (default: 1)" }
          },
          "required": ["prompt"]
        }
      }
    ]
  }
}

tools/call

Execute a tool by name with arguments.

Requestjson
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "pipeline_start",
    "arguments": {
      "prompt": "Build a landing page for a coffee shop with menu and contact form",
      "tenant_id": "1"
    }
  },
  "id": 3
}
Responsejson
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"run_id\": \"a1b2c3d4-...\"}"
      }
    ]
  }
}

ping

Health check. Returns an empty result object.

Request / Responsejson
// Request
{ "jsonrpc": "2.0", "method": "ping", "id": 4 }

// Response
{ "jsonrpc": "2.0", "id": 4, "result": {} }

Available Tools

53 tools across 13 services. Use tools/list for full schemas including parameters. Below is a quick reference.

Pipeline

8 tools

AI App Builder — start builds, track progress, manage artifacts

pipeline_startStart an AI app build from a plain-English description
pipeline_statusGet current status of a pipeline run
pipeline_respondRespond to a human checkpoint in a pipeline run
pipeline_list_runsList recent pipeline runs for a tenant
pipeline_get_artifactsGet all build artifacts from a pipeline run
pipeline_canonical_errorsBrowse the canonical error library
pipeline_billing_statusCheck billing status and run quota
pipeline_upgradeGet a Stripe checkout URL to upgrade plans

Characters

3 tools

Dashboard animation and agent character interactions

character_eventFire a character event to animate the admin dashboard
character_interactInitiate a tap-on-the-shoulder conversation between characters
character_statsGet 24-hour event counts and recent events per character

Instigations

2 tools

The API band — file wild ideas and cross-system queries

instigateFile a wild idea or cross-system query
instigations_browseBrowse the instigations archive

Grok (xAI)

3 tools

Code generation, review, and chat via xAI Grok

grok_chatChat with Grok for general AI assistance
grok_buildGenerate code with Grok
grok_reviewCode review and analysis with Grok

Stripe

5 tools

Payment processing — customers, subscriptions, products

stripe_list_customersList Stripe customers
stripe_list_subscriptionsList active subscriptions
stripe_list_productsList products
stripe_create_payment_linkCreate a payment link
stripe_get_balanceGet current Stripe balance

Resend

2 tools

Transactional email via Resend

resend_send_emailSend a transactional email
resend_list_emailsList recent emails

Twilio

2 tools

SMS messaging via Twilio

twilio_send_smsSend an SMS message
twilio_list_messagesList recent SMS messages

Alchemy

3 tools

Blockchain data via Alchemy — tokens, NFTs, transactions

alchemy_get_token_balancesGet token balances for a wallet
alchemy_get_nftsGet NFTs owned by a wallet
alchemy_get_transactionsGet transaction history for a wallet

Pinata (IPFS)

3 tools

Decentralized storage via Pinata/IPFS

pinata_pin_jsonPin JSON data to IPFS
pinata_list_filesList pinned files
pinata_get_fileRetrieve a pinned file by CID

Cloudflare

5 tools

Infrastructure management — Pages, Workers, DNS, cache

cf_list_pages_projectsList Cloudflare Pages projects
cf_get_pages_deploymentsGet deployments for a Pages project
cf_list_workersList Cloudflare Workers
cf_list_zonesList DNS zones
cf_purge_cachePurge cache for a zone

Neon (Database)

3 tools

Direct database access via Neon serverless Postgres

db_queryExecute a SQL query
db_get_tablesList all tables in the database
db_get_tenantsList all tenants

Ollama

2 tools

Local LLM inference via Ollama workers

ollama_list_modelsList available local models
ollama_generateGenerate text with a local model

Google

12 tools

Google services — Gemini AI, Search, Maps, Gmail, Drive, Calendar, Sheets

google_geminiChat with Google Gemini
google_searchWeb search via Google
google_geocodeGeocode an address to coordinates
google_places_searchSearch Google Places
google_gmail_sendSend an email via Gmail
google_gmail_listList Gmail messages
google_drive_listList Google Drive files
google_drive_readRead a Google Drive file
google_calendar_listList calendar events
google_calendar_createCreate a calendar event
google_sheets_readRead data from Google Sheets
google_sheets_writeWrite data to Google Sheets

Errors

EventureAI uses standard JSON-RPC 2.0 error codes plus custom codes for platform-specific errors. All errors follow the same format.

Error response formatjson
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32001,
    "message": "Unauthorized"
  }
}

Error Codes

CodeTypeDescription
-32700Parse errorInvalid JSON in request body
-32600Invalid requestMissing required JSON-RPC fields
-32601Method not foundUnknown method or tool name
-32602Invalid paramsMissing or invalid tool arguments
-32603Internal errorTool execution failed
-32001UnauthorizedInvalid, expired, or revoked API key
-32002Rate limitedToo many requests in the current window
-32003ForbiddenKey does not have required scope
-32004Billing exceededTenant has exceeded their plan quota

SDKs & Integration

Claude Code

Connect EventureAI as an MCP server in Claude Code. All 53 tools become available in your Claude session.

Add EventureAI MCP serverbash
claude mcp add eventureai \
  --transport http \
  https://eventureai.com/api/mcp \
  --header "Authorization: Bearer eai_dev_live_your_key_here"

JavaScript / TypeScript

Node.js examplejavascript
const EVENTUREAI_KEY = process.env.EVENTUREAI_API_KEY;
const MCP_URL = "https://eventureai.com/api/mcp";

async function callTool(name, args) {
  const res = await fetch(MCP_URL, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${EVENTUREAI_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      method: "tools/call",
      params: { name, arguments: args },
      id: Date.now(),
    }),
  });
  const data = await res.json();
  if (data.error) throw new Error(data.error.message);
  return JSON.parse(data.result.content[0].text);
}

// Start a pipeline build
const result = await callTool("pipeline_start", {
  prompt: "Build a restaurant landing page with reservations",
});
console.log("Run ID:", result.run_id);

Python

Python examplepython
import os, json, requests

EVENTUREAI_KEY = os.environ["EVENTUREAI_API_KEY"]
MCP_URL = "https://eventureai.com/api/mcp"

def call_tool(name: str, args: dict) -> dict:
    resp = requests.post(
        MCP_URL,
        headers={
            "Authorization": f"Bearer {EVENTUREAI_KEY}",
            "Content-Type": "application/json",
        },
        json={
            "jsonrpc": "2.0",
            "method": "tools/call",
            "params": {"name": name, "arguments": args},
            "id": 1,
        },
    )
    data = resp.json()
    if "error" in data:
        raise Exception(data["error"]["message"])
    return json.loads(data["result"]["content"][0]["text"])

# List all tools
resp = requests.post(
    MCP_URL,
    headers={"Authorization": f"Bearer {EVENTUREAI_KEY}", "Content-Type": "application/json"},
    json={"jsonrpc": "2.0", "method": "tools/list", "id": 1},
)
tools = resp.json()["result"]["tools"]
print(f"{len(tools)} tools available")

# Start a build
result = call_tool("pipeline_start", {
    "prompt": "Build a portfolio site with project gallery"
})
print(f"Run ID: {result['run_id']}")

cURL

List available toolsbash
curl -s https://eventureai.com/api/mcp \
  -H "Authorization: Bearer eai_dev_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}' | jq '.result.tools | length'
Execute a toolbash
curl -s https://eventureai.com/api/mcp \
  -H "Authorization: Bearer eai_dev_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "db_get_tables",
      "arguments": {}
    },
    "id": 1
  }' | jq .
Health checkbash
curl -s https://eventureai.com/api/mcp \
  -H "Authorization: Bearer eai_dev_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"ping","id":1}'

Webhooks

Coming SoonWebhook Support

Webhook notifications for pipeline events (build started, step completed, human checkpoint reached, build finished) are in development. Register a URL and receive real-time POST notifications for your builds.

Expected: Q2 2026 · Subscribe to updates at eventureai.com/changelog

EventureAI API Documentation · v1.0 · Last updated March 2026

Questions? Contact [email protected] or open an issue on GitHub.