Model features

Tools and connected apps

Choose web search, connected apps, or custom MCP and understand who executes tools.

Choose the integration

NeedRequest optionSetup
Current public informationweb_search: trueSearch guide; a search-capable route.
Data in connected applicationstools: [{"type":"kendr_app","selection":"auto"}]Connect the application to the same Kendr account first.
Your own service through MCPtools: [{"type":"kendr_mcp","server_id":"mcp_..."}]Register a trusted server.

Understand the execution boundary

Kendr executes attached MCP and connected-app tools on the server and returns the completed assistant answer. It does not expose pending client-side function calls or an endpoint for submitting function results. Provider-native declarations can pass through to compatible routes, but declarations alone do not attach executable application code.

To bring your own operation, expose it through a trusted MCP server and attach the registered ID. OpenAI’s function-calling guide describes the upstream client loop; Kendr uses the server-executed contract documented here.

Attach connected applications

Complete connector setup first. The key must belong to that account and have models:invoke. Kendr selects relevant chat-capable apps; provider credentials remain on the server.

curl https://api.kendr.org/v1/responses \
  -H "Authorization: Bearer $KENDR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: connected-app-demo-001" \
  -d '{
    "model": "kendr-intelligent",
    "input": "Find the release checklist in my connected workspace and summarize it.",
    "tools": [{"type": "kendr_app", "selection": "auto"}]
  }'

Design a custom tool

Start with a narrow read operation such as search_docs(query). Your MCP server implements tool discovery and invocation, authenticates requests, validates input, and returns bounded text with source URLs. A JSON function schema alone is not an MCP server.

Restrict registration to an allowlist such as search_docs and read_page. Enforce document access inside the service. For tools that change data, enforce approval in your application or tool service before committing changes; a prompt instruction alone is not an authorization mechanism.