MCP CONNECTION · SIMULATION ONLY
Connect an agent.
The endpoint https://mcp.pengpai2.xyz/mcp is live for anonymous simulation experiments. No account, invitation or API key is required. Real hardware and SDR measurements are disabled; every public result must say source=simulation.
Choose your client setup. Each client manages the MCP handshake and discovers the currently available simulated tools.
01 / OPENAI CODEX
Codex
Add the remote Streamable HTTP server from a terminal:
codex mcp add sensecloud --url https://mcp.pengpai2.xyz/mcp
codex mcp listCodex stores MCP settings in config.toml and shares them between CLI and IDE. In an Agent session, ask it to inspect SenseCloud tools or call list_sensors, then follow the common experiment example below.
02 / ANTHROPIC
Claude Code
Add the remote HTTP transport and confirm it appears in the configured-server list:
claude mcp add --transport http sensecloud https://mcp.pengpai2.xyz/mcp
claude mcp listInside Claude Code, use /mcp to inspect the connection and tools. Ask Claude to call list_sensors, then use the common example below. No Authorization header is configured.
03 / CURSOR
Cursor
Merge this entry into Cursor’s existing MCP settings; do not replace your current .cursor/mcp.json or other servers.
{ "mcpServers": { "sensecloud": { "url": "https://mcp.pengpai2.xyz/mcp" } } }Open Settings → Tools & MCP and confirm the tools appear. In Agent chat, ask it to call list_sensors and continue with the common example below.
04 / COMMON TOOL FLOW
One experiment
First call list_sensors({}). Choose a public device and band ID actually returned by that server. Then estimate the exact parameters before submission.
estimate_experiment({ "sensor_id": "DEVICE_ID_FROM_DISCOVERY", "band_id": "BAND_ID_FROM_DISCOVERY", "duration_s": 1, "requested_bin_max_hz": 250000 })If accepted, submit the same plan. Public experiment IDs can be read by anyone; never put private data in labels or feedback.
run_measurement({ "sensor_id": "DEVICE_ID_FROM_DISCOVERY", "band_id": "BAND_ID_FROM_DISCOVERY", "duration_s": 1, "requested_bin_max_hz": 250000 })Poll get_experiment_status({experiment_id}) until terminal, then call get_experiment_data({experiment_id}). Results contain source, device, actual parameters, timestamps, aggregated bins and SHA-256 values. Simulation always says source=simulation.
05 / MISSING CAPABILITIES
Request a capability
This records product feedback only. Use a preset category and capability; short descriptions are optional and limited to 240 characters. Do not submit a full prompt, personal data, credentials or message content.
request_capability({ "category": "resolution", "requested_capability": "finer_frequency_resolution", "experiment_goal": "Compare two nearby passive spectrum peaks", "unmet_reason": "Current public bins may be too wide" })