ecenticecentic
How it worksResourcesPricingBlog
Install now
ASCII-art illustration of a robot

Streamable HTTP · JSON-RPC 2.0 · 7 tools

ecentic MCP server.

Claude, ChatGPT, and any Model Context Protocol client can call ecentic natively over JSON-RPC 2.0. This page is the connection reference: the endpoint, the transport, the handshake, and every tool it exposes.

Back to docs
01

Connect

One endpoint, two paths, no session to manage.

POST https://ecentic.ai/mcp
Content-Type: application/json
Accept: application/json, text/event-stream

{"jsonrpc":"2.0","id":1,"method":"tools/list"}

The server is reachable at /mcp and at /api/mcp. Both are the same handler; the bare path exists because most clients and scanners probe it first.

The transport is Streamable HTTP. Every request is a POST carrying JSON-RPC 2.0, and every response arrives on that same POST. ecentic opens no server-initiated stream, so a GET with Accept: text/event-stream answers 405 rather than hanging your client on a stream that will never emit.

There is no session. ecentic issues no Mcp-Session-Id, and DELETE — the session-termination verb — answers 405 for the same reason. Nothing needs to be torn down.

02

Handshake

Initialize, then send the initialized notification.

Protocol versions accepted on initialize
2025-06-18, 2025-03-26, 2024-11-05

initialize returns the negotiated protocol version, the server identity, its capabilities, and an instructions string describing what ecentic is for. If you ask for a version ecentic speaks, you get that version back; anything else falls back to the version it advertises.

The notifications/initialized message that follows is a JSON-RPC notification — it has no id and draws no reply. ecentic answers it with 202 Accepted and an empty body, as the transport requires. A server that answers a notification with a JSON-RPC error breaks the handshake, so this is the one exchange worth checking first when a client will not connect.

→ {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26"}}
← 200 {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-03-26", ...}}

→ {"jsonrpc":"2.0","method":"notifications/initialized"}
← 202 (no body)
03

Tools

What the server exposes, and which calls need a key.

ToolAuthWhat it does
list_plansnoneReturns the public plan catalog with prices, billing mode, and performance-fee terms.
create_api_keybearerMints a long-lived agent API key on the caller's account. Shown once.
create_checkoutbearerOpens a Stripe checkout session for a subscription plan.
connect_shopifybearerStarts the Shopify OAuth install for a shop domain.
connect_woocommercebearerConnects a WooCommerce store with REST consumer credentials.
connect_feedbearerConnects a product feed by URL, auto-detecting XML or JSON.
get_onboarding_statusbearerReports which onboarding steps the account has completed.
04

Authentication

Read-only tools are open; anything touching an account takes a bearer key.

Authorization: Bearer ecentic_sk_…

Send Authorization: Bearer ecentic_sk_… on tool calls that change account state. A call that needs a credential and does not have one returns HTTP 401 with a WWW-Authenticate header naming the Protected Resource Metadata document, so a client can re-run discovery from the failure itself.

Keys are self-serve: create an account, then mint one from the dashboard or by calling create_api_key over an authenticated session. No sales contact is involved at any point.

Registration and credentials
05

Errors

Two error surfaces, and which one you are looking at.

A JSON-RPC error — an unknown method, bad params, a tool that refused — arrives as HTTP 200 with an error member, exactly as JSON-RPC specifies. Branch on error.code.

A transport error — a method the endpoint does not offer — arrives as an RFC 9457 problem document with Content-Type: application/problem+json and a machine-readable code. That is the same error model the REST surface uses.

The one exception is 401: it carries the JSON-RPC envelope so a client already parsing JSON-RPC does not need a second parser, plus the WWW-Authenticate header for discovery.

DocsErrors

Every claim on this page is checkable: the manifest, the server card, and the OpenAPI document all describe the same endpoint.

Get picked by AI

Ready to be the product agents recommend?

Install free on Shopify or WooCommerce and see your AI score in minutes.

Install on ShopifyInstall on WooCommerce
ecentic

Win every AI shopping agent's cart.

Built for the agent economy
Product
  • Features
  • How it works
  • Pricing
  • Product Listings
Platforms
  • Shopify
  • WooCommerce
  • Enterprise
Resources
  • Developer docs
  • API reference
  • Resources
  • Blog
  • Compare
  • UCP Validator
  • UCP Playground
  • Book a demo
Company
  • Support
  • Privacy policy
  • Terms of service

© 2026 ecentic. All rights reserved.

Made for merchants who refuse to be invisible to AI.