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.
01What the server does
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.
02Connection details
- 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.
03Add it to a client
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 mcp add --transport http culenz https://www.culenz.com/mcp{
"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.
04Tools the server offers
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.
05Call a tool by hand
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.
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"}}}'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.
06The request_demo input
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.
{
"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.
07Questions it can answer
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.
08How search works
The search tool reads a catalogue of every public page on culenz.com. We rebuild it each time the site is published.
Every word in the query must appear in a page title or summary. Pages with the words in their title rank first.
Short, specific queries work best, such as confined space or digital twin. Long sentences match fewer pages.
Each result has a title, a link and a short summary. Assistants should link people to the page for the full story.
09Troubleshooting a connection
- 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.
10Resources you can read
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.
11Errors and limits
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.
12Protocol versions supported
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.
13Server card and discovery
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.
14Privacy and safe use
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.
15Other ways to connect
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.
