{"message":"NLWeb MCP (JSON-RPC) /nlweb-mcp endpoint. Use POST with JSON-RPC body.","nlweb_usage":{"info":"For standard NLWeb queries, wrap your request in a JSON-RPC object. The 'method' can be anything not MCP-specific (e.g., 'query'), and 'params' should be the NLWeb request body.","query":"Your natural language query (string, required in params)","site":"Token for data subset (string, optional in params)","prev":"Comma-separated previous queries (string, optional in params)","decontextualized_query":"Full decontextualized query (string, optional in params)","streaming":"true (boolean, default) or false (boolean) or '0' (string) (optional in params)","query_id":"Client-provided query ID (string, optional in params, used for JSON-RPC 'id' if present)","mode":"'list' (string, default), 'summarize' (string), 'generate' (string) (optional in params)"},"mcp_methods":{"tools/list (alias: list_tools)":{"description":"Lists available tools.","params":"None"},"tools/call (alias: call_tool)":{"description":"Calls a specific tool.","params":{"name":"Name of the tool (string, required)","args":"Arguments for the tool (object, required)"}},"resources/list (alias: list_prompts)":{"description":"Lists available resources (blog posts as prompts).","params":"None"},"resources/read (alias: get_prompt)":{"description":"Reads a specific resource (blog post content).","params":{"uri":"URI of the resource (string, required, e.g., 'blog://slug-of-post')"}}}}