HTTP, cURL and Python
Use the AICOM endpoint with an Authorization header on every request.
Read-only cURL example
curl https://example.com/wp-json/aicom/v1/mcp \
-H "Authorization: Bearer YOUR_AICOM_KEY" \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"wp.posts.list","arguments":{"post_type":"post","status":"publish","posts_per_page":5}}}'Read-only Python example
import os
import requests
response = requests.post(
"https://example.com/wp-json/aicom/v1/mcp",
headers={"Authorization": "Bearer " + os.environ["AICOM_TOKEN"]},
json={"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "wp.posts.list", "arguments": {
"post_type": "post", "status": "publish", "posts_per_page": 5}}},
timeout=30,
)
response.raise_for_status()
print(response.json())Inspect the JSON-RPC response and any tool-level error as well as the HTTP status. HTTP success alone does not prove the operation succeeded.
Discovery
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}A standard MCP client also manages protocol initialization and tool invocation. These HTTP examples demonstrate individual authenticated requests. tools/describe gives the exact schema: for example, post creation uses post_title and post_status, while post listing uses posts_per_page.
Writes and fallback
Call session.open before mutations, back up supported content, verify and close the session. If the primary REST route is blocked, use https://example.com/?aicom=1 with the same Authorization header. See troubleshooting.
Reviewed for AICOM 3.23.1 · 22 October 2026. Your installed version and permissions determine available features.