{
  "openapi": "3.1.0",
  "info": {
    "title": "necesit.ro MCP API",
    "version": "1.0.0",
    "description": "Helps customers get quotes from professionals. Flow: search_services to find the service slug, then request_form with everything already known from the conversation in prefill. The customer fills in and submits the form in the UI; never invent contact data. Full guide: https://www.necesit.ro/developers",
    "contact": {
      "email": "info@necesit.ro"
    }
  },
  "servers": [
    {
      "url": "https://www.necesit.ro"
    }
  ],
  "paths": {
    "/mcp": {
      "post": {
        "operationId": "mcpRequest",
        "summary": "Send one MCP JSON-RPC message (Streamable HTTP, stateless, no authentication)",
        "description": "Tools: search_services - Find services (e.g. moving, tiling, cleaning) a customer can request quotes for.\nService titles are in the site's language, so write the query in that language, not in English.\nReturns up to 10 matches; pass the chosen `slug` to request_form., request_form - Show the customer the request form for a service, so professionals can send them quotes.\nPut anything already known from the conversation (postcode, description, contact data, answers) in `prefill`,\nkeyed by field name. The customer reviews and submits the form themselves.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JsonRpcRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON-RPC result or error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonRpcResponse"
                }
              }
            }
          },
          "202": {
            "description": "Notification accepted, no body"
          }
        }
      }
    },
    "/.well-known/mcp/server-card.json": {
      "get": {
        "operationId": "getServerCard",
        "summary": "MCP server card: endpoint, transport and tools",
        "responses": {
          "200": {
            "description": "Server card",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "JsonRpcRequest": {
        "type": "object",
        "required": [
          "jsonrpc",
          "method"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ]
          },
          "id": {
            "type": [
              "string",
              "integer"
            ],
            "description": "Omit for notifications"
          },
          "method": {
            "type": "string",
            "enum": [
              "initialize",
              "notifications/initialized",
              "ping",
              "tools/list",
              "tools/call",
              "resources/list",
              "resources/read"
            ]
          },
          "params": {
            "type": "object",
            "description": "e.g. {\"name\": \"search_services\", \"arguments\": {\"query\": \"...\"}} for tools/call"
          }
        }
      },
      "JsonRpcResponse": {
        "type": "object",
        "required": [
          "jsonrpc",
          "id"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ]
          },
          "id": {
            "type": [
              "string",
              "integer",
              "null"
            ]
          },
          "result": {
            "type": "object"
          },
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}