Skip to content
Culenz

Developers

Culenz MCP server

Connect an AI assistant to Culenz with the Model Context Protocol.

It can then search our work, list our solutions, share our contact details and request a demo.

Last updated

The Culenz MCP server is a remote server that any MCP client can reach over the internet. Nothing needs installing.

It answers questions about Culenz from our own pages, so assistants quote real facts instead of guesses.

When a person wants a demo, the assistant can pass the request straight to our team.

  • Endpoint: https://www.culenz.com/mcp
  • Transport: Streamable HTTP. Send JSON-RPC 2.0 messages with POST; replies are JSON.
  • Protocol versions: 2025-06-18, 2025-03-26 and 2024-11-05.
  • Authentication: none. There is no key and no sign-in.
  • Sessions: none. The server is stateless, so each request stands alone.

The server has no stream from server to client. A GET request for an event stream returns 405, as the transport allows.

Opening the address in a browser shows this page instead.

Most clients take a name and a URL. Pick the HTTP or Streamable HTTP transport when asked.

In Claude Code, one command adds the server.

Claude Code
claude mcp add --transport http culenz https://www.culenz.com/mcp
JSON configuration
{
  "mcpServers": {
    "culenz": {
      "type": "http",
      "url": "https://www.culenz.com/mcp"
    }
  }
}

Clients that only run local servers can connect through a bridge such as mcp-remote, pointed at the same address.

Each tool has a JSON Schema for its input and its output. Results come as text and as structured content.

search_culenz
Searches culenz.com by keywords. It returns up to twenty pages with titles, links and summaries.
list_solutions
Lists the five solutions a person can request a demo for, each with its page link.
get_contact_details
Gives our email, phone, WhatsApp link, markets served and response time.
request_demo
Sends a demo request with name, email, phone, company and solution. A message and brochure flag are optional.

The first three tools only read. Their annotations mark them as read-only, so clients can run them without asking.

The request_demo tool contacts a real person. Clients should confirm the details with the user before calling it.

You can try the server with any HTTP client. Start with initialize, then call a tool.

The server returns the protocol version it chose in the MCP-Protocol-Version header.

Initialize
curl -X POST https://www.culenz.com/mcp \
  -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18",
       "capabilities":{},"clientInfo":{"name":"<your client>","version":"1.0"}}}'
Call search_culenz
curl -X POST https://www.culenz.com/mcp \
  -H "Content-Type: application/json" -H "MCP-Protocol-Version: 2025-06-18" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_culenz","arguments":{"query":"vr welding","limit":3}}}'

Batches work too. Send an array of messages, and the reply is an array of results.

This is the input schema the server publishes for request_demo. The solution list always matches list_solutions.

Fields outside the schema are dropped, so we never store data we did not ask for.

inputSchema
{
  "type": "object",
  "properties": {
    "name":     { "type": "string", "maxLength": 200 },
    "email":    { "type": "string", "format": "email" },
    "phone":    { "type": "string" },
    "company":  { "type": "string", "maxLength": 200 },
    "solution": { "type": "string", "enum": ["VR Experience", "Augmented Reality",
                  "360° Live Broadcast", "98\" Life-Size Hologram", "Custom Enterprise XR"] },
    "message":  { "type": "string", "maxLength": 2000 },
    "brochure": { "type": "boolean" }
  },
  "required": ["name", "email", "phone", "company", "solution"],
  "additionalProperties": false
}

A good assistant asks for each missing field in plain words. It reads the details back before it calls the tool.

On success, it tells the person that a Culenz producer will reply within one working day.

Once connected, an assistant picks the right tool from the question. People never need to name a tool.

These are the kinds of questions the server handles well, with the tool each one uses.

  • Does Culenz build VR welding simulators? The assistant calls search_culenz with vr welding.
  • Which hologram sizes can I rent for a launch? It searches for hologram and quotes the matching page.
  • Who streamed the Republic Day Parade in VR? It searches for republic day and finds the case study.
  • What can I book a demo for? It calls list_solutions and reads out the five options.
  • How do I reach the Culenz team? It calls get_contact_details for email, phone and WhatsApp.
  • Please ask Culenz to call me about a VR showroom. It collects the details and calls request_demo.
  • A 405 reply on GET is normal. Send JSON-RPC messages with POST instead.
  • A 202 reply with no body means you sent a notification, such as notifications/initialized. No answer is due.
  • A -32602 error on tools/call means the tool name is wrong. Call tools/list for the exact names.
  • A 429 reply means the address hit its limit. Wait for the seconds in Retry-After, then try again.
  • If the client asks for OAuth, choose no authentication. The server has no sign-in step.

Still stuck? Email info@culenz.com with the time of the request and the reply you saw.

The server also lists two resources. Clients can read them for wider context about Culenz.

  • https://www.culenz.com/llms.txt: every page on the site with a one-line summary.
  • https://www.culenz.com/api/v1/openapi.json: the OpenAPI description of the Culenz API.

Protocol errors use the standard JSON-RPC codes. An unknown method returns -32601, and bad parameters return -32602.

A tool that cannot finish returns a result with isError set to true. Its text explains what to change.

Each address can send sixty requests a minute. Demo requests are limited to ten an hour.

  • Every reply carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset headers.
  • Past the limit, the reply is a 429 problem document with a Retry-After header.
  • Malformed JSON returns the -32700 parse error.

The client names a protocol version in initialize. If we support it, the server answers with the same version.

If we do not, the server offers 2025-06-18, the newest version it supports. The client can then decide to continue.

We add support for new versions as the protocol grows. The server card always lists the current set.

Our MCP server card is at https://www.culenz.com/.well-known/mcp/server-card.json. It lists the endpoint, transport, versions, capabilities and tools.

Our AI catalog at /.well-known/ai-catalog.json points to the card, so agents can find it without this page.

The server stores nothing about a session. Only a demo request is saved, and it goes to our sales team.

Our privacy policy covers that request, like any form on our site. We never sell personal data.

  • Send a demo request only when the person asked for one.
  • Confirm their details before sending, and never send test requests.
  • Quote prices only from our team, never from guesses.

Prefer plain HTTP? The Culenz API offers the same features as REST endpoints, with an OpenAPI description.

Building with Agent2Agent? Our A2A agent card is at /.well-known/agent-card.json, and our developer guide covers both.

For help, email info@culenz.com or call +91-7014647391. We reply within one working day.