Skip to content
简体中文

Quick Start

Public MCP is an MCP server that requires no authentication: give it a Caoliao QR code and the agent learns what is behind it — the equipment, its state, its history, and what can be done with it right now.

No account, no application process. Set the URL and it works.

Service details

ItemValue
Endpointhttps://mcp.objqr.com/mcp
TransportStreamable HTTP
Server nameim.cli/qrcode
Tools5, all read-only
AuthenticationNone (public data by default; for authorized reads see Data Scope and Authorization)

Client configuration

Most MCP clients use the same configuration shape. For Claude Desktop and Cursor, add:

json
{
  "mcpServers": {
    "caoliao": {
      "type": "http",
      "url": "https://mcp.objqr.com/mcp"
    }
  }
}

Note: Claude Desktop's configuration file opens from Settings → Developer → Edit Config (claude_desktop_config.json); in Cursor, add it under Settings → MCP or edit .cursor/mcp.json in your project. Field names vary between other clients (some use transport, others type) — follow your client's documentation. The URL is the same either way.

Restart the client afterwards; five tools prefixed with entity_ will appear in the tool list.

Verify with curl

You can verify without installing a client. The request must accept both JSON and SSE.

Handshake:

bash
curl -X POST https://mcp.objqr.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": "demo", "version": "0" }
    }
  }'

Response:

event: message
data: {"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{},"logging":{},"completions":{}},"serverInfo":{"name":"im.cli/qrcode","version":"0.1.0"}},"jsonrpc":"2.0","id":1}

Note: the actual output also has an id: line (the SSE event id) between event: and data: — you can ignore it.

Query a QR code:

bash
curl -X POST https://mcp.objqr.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "entity_get",
      "arguments": { "code": "https://qr71.cn/okDISU/qssTnoy" }
    }
  }'

The response carries the equipment name, properties, current state, record count and available actions for that code. Note that the live service returns field values in Chinese; the examples in Tools are translated for illustration. Full field reference there.

What to ask first

Start with entity_get. It returns the whole entity in one call, including previews of actions and records. Then decide whether to go deeper:

  • Need the full history → entity_records_list
  • Need to know what can be done now → entity_actions_list
  • Need the fields of a specific action → entity_action_get

Next