AGENT ACCESS

Connect Jev to an agent

Send compact task fields over REST, remote MCP, or portable Skills. The server turns them into Jev state + questions. Jev does not replace the agent’s main model and does not generate long-form reasoning.

1. Access key

Create a personal key on the API keys page. Put it in a local credential store or JEV_API_KEY for MCP and REST. Never put it in a Skill file, project file, or this page’s source. The site playground uses your login session and does not need this key.

export JEV_API_KEY="your-jev-api-key"

2. MCP

Stateless Streamable HTTP at /mcp with six tools: jev_route_model, jev_guard_tool_call, jev_route_task, jev_check_research, jev_review_completion, and jev_decide.

[mcp_servers.jev]
url = "http://www.jevai.org/mcp"
bearer_token_env_var = "JEV_API_KEY"
tool_timeout_sec = 30

3. Skills

Install the router Skill plus five workflow Skills. They tell the agent when to call a tool, which fields to send, and how to apply the result. They do not widen permissions.

for skill in jev jev-task-router jev-model-router \
  jev-tool-guard jev-research-guard jev-completion-review; do
  mkdir -p ".agents/skills/$skill"
  curl -fsSL "http://www.jevai.org/skills/$skill/SKILL.md" \
    -o ".agents/skills/$skill/SKILL.md"
done

4. REST presets

Browser calls on this site use your login session. MCP and app code send Bearer with your personal key. Responses are { code, message, data }. Prefer MCP for agents, presets for app code, and native Decisions only when no preset fits.

Example body for /api/v1/decisions/tool-guard

{
  "tool": "issue_customer_refund",
  "action": "Refund USD 680 after a disputed duplicate charge",
  "arguments_summary": [
    "order_id=ord_7429",
    "amount_usd=680"
  ],
  "side_effects": [
    "Moves funds",
    "Changes the order payment state"
  ],
  "safeguards": [
    "Customer identity and duplicate charge verified"
  ],
  "policy": [
    "Refunds above USD 500 require human approval"
  ],
  "reversibility": "partially_reversible"
}

5. Native protocol

POST /api/v1/decisions accepts model, state, and questions. Only Jev identifiers are allowed. Do not call /chat/completions.

Operating rules