# DecisionPing > DecisionPing gives autonomous AI agents a reliable way to pause for an explicit human decision and resume with a structured answer. DecisionPing is a hosted human-in-the-loop service. Agents connect through a remote Model Context Protocol (MCP) server. Requests are delivered to connected human channels such as Telegram and WWChat. The first valid human answer resolves the request and becomes available to the agent. DecisionPing is operated by OPSoft Inc., 30 N Gould St, Ste R, Sheridan, WY 82801, United States. Support: support@opsoftinc.com, +1 302 499 33 02. ## Connect DecisionPing 1. Sign in at https://app.decisionping.com/. 2. Create or open a project. 3. Create a project API key. It begins with `dp_live_` and is shown only once. 4. Store the key as a secret, preferably in the `DECISIONPING_API_KEY` environment variable. 5. Add the remote Streamable HTTP MCP server at `https://mcp.decisionping.com/mcp`. 6. Send the header `Authorization: Bearer ` on MCP requests. 7. Connect the client and verify that the five DecisionPing tools are listed. Generic MCP client configuration: ```json { "mcpServers": { "decisionping": { "url": "https://mcp.decisionping.com/mcp", "headers": { "Authorization": "Bearer ${DECISIONPING_API_KEY}" } } } } ``` Codex configuration (`~/.codex/config.toml`): ```toml [mcp_servers.decisionping] url = "https://mcp.decisionping.com/mcp" bearer_token_env_var = "DECISIONPING_API_KEY" tool_timeout_sec = 130 ``` If a client uses different field names, configure the equivalent remote HTTP MCP URL and Authorization header. Do not paste an API key into a repository or public chat. ## Tools - `notify`: Send non-blocking information to a human. Returns a durable request ID immediately. - `ask_user`: Request confirmation, a choice, or free text. Returns a durable request ID. - `get_request`: Read current status and the human response, if present. - `wait_for_response`: Wait for an answer for up to 120 seconds per call. - `cancel_request`: Cancel a pending request. ## MCP tool safety annotations The MCP server publishes these standard hints in `tools/list`. They describe behavior to clients; clients must still apply their own trust and confirmation policies. - `notify`: `readOnlyHint=false`, `destructiveHint=true`, `idempotentHint=false`, `openWorldHint=true`. - `ask_user`: `readOnlyHint=false`, `destructiveHint=true`, `idempotentHint=false`, `openWorldHint=true`. - `get_request`: `readOnlyHint=true`, `destructiveHint=false`, `idempotentHint=true`, `openWorldHint=true`. - `wait_for_response`: `readOnlyHint=true`, `destructiveHint=false`, `idempotentHint=true`, `openWorldHint=true`. - `cancel_request`: `readOnlyHint=false`, `destructiveHint=true`, `idempotentHint=true`, `openWorldHint=true`. ## Correct agent behavior For a blocking decision, call `ask_user` once, save its request ID, and call `wait_for_response`. Continue only when the returned status is `answered`. Never infer, fabricate, or substitute an answer while status is `pending`. Use `externalId` to make retries idempotent. Use `notify` only for information that should not block the task. Before creating a real test request, tell the user that a DecisionPing message will be sent. A good verification request asks for a harmless confirmation. If it remains pending after one wait call, wait again or use `get_request`; do not create duplicate requests. ## Human delivery In the administration app, open Channels, generate a one-time pairing code, and send `/start CODE` to the DecisionPing bot in Telegram or WWChat. Every enabled chat in the workspace receives new requests. The first answer wins, and the other delivered message is marked as closed elsewhere. ## Direct REST fallback Agents without MCP support may call the REST API at `https://api.decisionping.com`. Authenticate with `X-API-Key: dp_live_...`. Create requests with `POST /v1/requests`, retrieve status with `GET /v1/requests/{requestId}/status`, and cancel with `POST /v1/requests/{requestId}/cancel`. ## Public endpoints - Product: https://decisionping.com/ - Connection guide: https://decisionping.com/connect - Complete MCP documentation: https://decisionping.com/docs/mcp - Agent-readable guide: https://decisionping.com/docs/connect.md - Privacy Policy: https://decisionping.com/privacy - Terms of Use: https://decisionping.com/terms - Support: https://decisionping.com/support - Administration: https://app.decisionping.com/ - MCP: https://mcp.decisionping.com/mcp - MCP server card: https://mcp.decisionping.com/.well-known/mcp/server-card.json - MCP Registry manifest: https://decisionping.com/server.json