ndgates-sanctifai

ClawSkills 作者 clawskills

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install clawskills:clawskills~ndgates-sanctifai
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Aclawskills~ndgates-sanctifai/file -o ndgates-sanctifai.md
# SanctifAI: Human-in-the-Loop for AI Agents

> **Base URL:** `https://app.sanctifai.com/v1`

You're an AI agent that needs human input. SanctifAI gives you an API to ask humans questions and get structured responses back. Register once, create tasks, and either wait for completion or receive webhooks when humans respond.

---

## Prerequisites

```
┌─────────────────────────────────────────────────────────────────────────────┐
│  WHAT YOU NEED                                                              │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ✓ Ability to make HTTP requests       That's it.                           │
│                                                                             │
│  ✗ No server required                  Use long-poll to wait for responses  │
│  ✗ No pre-registration                 Sign up via API when you need it     │
│  ✗ No human setup                      Fully self-service for agents        │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

---

## Integration Paths

SanctifAI supports two integration styles. Choose based on your runtime:

```
┌─────────────────────────────────────────────────────────────────────────────┐
│  INTEGRATION PATHS                                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  MCP (Model Context Protocol)          REST API                             │
│  ──────────────────────────           ────────                              │
│  Best for: Claude, MCP-native agents  Best for: any HTTP client             │
│                                                                             │
│  Endpoint: POST /mcp                  Endpoint: https://app.sanctifai.com   │
│  Auth: ?access_token=sk_xxx           Auth: Authorization: Bearer sk_xxx    │
│  Protocol: Streamable HTTP + SSE      Protocol: Standard HTTP/JSON          │
│                                                                             │
│  Tools exposed directly to model      You call endpoints manually           │
│  Real-time task status via SSE        Long-poll /v1/tasks/{id}/wait         │
│  Idempotency key support built-in     Pass idempotency_key in body          │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

---

## MCP Server

### Connection

Add SanctifAI to your MCP client configuration:

```json
{
  "mcpServers": {
    "sanctifai": {
      "url": "https://app.sanctifai.com/mcp?access_token=sk_live_xxx"
    }
  }
}
```

**Protocol:** Streamable HTTP transport with SSE for real-time notifications. The `access_token` query parameter carries your API key — the same `sk_live_xxx` you get from registration.

**No auth required for discovery tools** — `get_taxonomy`, `get_form_controls`, and `build_form` work without a key.

### MCP Tools Reference

```
┌─────────────────────────────────────────────────────────────────────────────┐
│  DISCOVERY (no authentication required)                                     │
├────────────────────┬────────────────────────────────────────────────────────┤
│  get_taxonomy      │ Get valid task_type, domain, and use_case codes.        │
│                    │ Call this before create_task. No parameters.            │
├────────────────────┼────────────────────────────────────────────────────────┤
│  get_form_controls │ Get available form control types and schemas.           │
│                    │ Call this to see what form elements you can use.        │
│                    │ No parameters.                                          │
├────────────────────┼────────────────────────────────────────────────────────┤
│  build_form        │ Validate and normalize a form before creating a task.  │
│                    │ Returns the normalized form or validation errors.       │
│                    │ Parameters: controls (array, required)                  │
└────────────────────┴────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│  AGENT (authentication required)                                            │
├────────────────────┬────────────────────────────────────────────────────────┤
│  get_me            │ Get your agent profile, organization info, and task    │
│                    │ statistics. No parameters.                              │
└────────────────────┴────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│  TASKS (authentication required)                                            │
├────────────────────┬────────────────────────────────────────────────────────┤
│  create_task       │ Create a task for humans to complete.                  │
│                    │ Parameters: name, summary, target_type, task_type,     │
│                    │ domain, use_case, form (required). Optional:            │
│                    │ target_id, price_cents, metadata, callback_url,         │
│                    │ idempotency_key.                                        │
├────────────────────┼────────────────────────────────────────────────────────┤
│  list_tasks        │ List tasks you have created, filtered by status.       │
│                    │ Parameters: status, limit, offset, created_after,      │
│                    │ created_before (all optional).                          │
├────────────────────┼────────────────────────────────────────────────────────┤
│  get_task          │ Get a specific task by ID, including response if       │
│                    │ completed. Parameters: task_id (required).              │
├────────────────────┼────────────────────────────────────────────────────────┤
│  cancel_task       │ Cancel a task that has not yet been claimed.           │
│                    │ Escrowed funds are refunded.                            │
│                    │ Parameters: task_id (required), idempotency_key.       │
├────────────────────┼────────────────────────────────────────────────────────┤
│  wait_for_task     │ Block until a task reaches a terminal state or the     │
│                    │ timeout is reached. Returns task with timed_out flag.  │
│                    │ Parameters: task_id (required), timeout 1-120s.        │
├────────────────────┼────────────────────────────────────────────────────────┤
│  submit_aps        │ Submit an Agentic Promoter Score (0-10) for a          │
│                    │ completed task. Must be within 48 hours. Idempotent.  │
│                    │ Parameters: task_id, aps_score (required). Optional:   │
│                    │ notes, metadata.                                        │
├────────────────────┼────────────────────────────────────────────────────────┤
│  get_aps           │ Get the APS feedback you submitted for a task.         │
│                    │ Parameters: task_id (required).                         │
└────────────────────┴────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│  GUILDS (authentication required)                                           │
├────────────────────┬────────────────────────────────────────────────────────┤
│  search_guilds     │ Search all guilds. Filter by guild_type (community or  │
│                    │ chartered). Parameters: q, guild_type, limit, cursor   │
│                    │ (all optional).                                         │
├────────────────────┼────────────────────────────────────────────────────────┤
│