Agent SDK

MCP and the manifest

Agents that discover what they can do, rather than being told, need a machine-readable description of the surface. There are three, and they answer different questions.

The tool manifest#

GET /v1/manifest describes the hosted tools and the API base. It needs no authentication, so an agent can read it before it has credentials.

No auth required
curl https://ai.upfyn.com/v1/manifest

/v1/mcp/tools is a redirect, not an endpoint

It issues a 308 to /v1/manifest. Some older documentation presents it as a route in its own right — a client that does not follow redirects will get nothing useful from it.

Tools we run for you#

GET /v1/tools lists what your account can invoke. These execute on our side, so you do not implement them.

GET /v1/tools
curl https://ai.upfyn.com/v1/tools \
-H "Authorization: Bearer $UPFYN_API_KEY"

You can call one directly, without going through a model:

POST /v1/tools/{name}
curl https://ai.upfyn.com/v1/tools/n8n__web_search \
-H "Authorization: Bearer $UPFYN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "query": "train times Delhi to Jaipur" }'
  • An unknown name returns 404 unknown_tool.
  • Web search is the main one. All three models report web_search: true, so a model can also reach it during a normal turn.
  • Hosted tool calls are billed like any other request.

The OpenAPI document#

GET /v1/openapi.json is the full specification — OpenAPI 3.1, with the live model ids enumerated. Also unauthenticated.

The whole API, described
curl https://ai.upfyn.com/v1/openapi.json
Use it toHow
Generate a clientFeed it to any OpenAPI generator.
Explore interactivelyLoad it into Swagger UI or Postman.
Give an agent the APISome agent frameworks consume an OpenAPI document directly as a toolset.

One model, no key#

GET /v1/models/{id}/schema also needs no authentication. It exists so a client can discover a model’s context window, modalities and capabilities before it has been given a key — useful when the thing choosing the model and the thing holding the credentials are different components.

Which to use#

You wantRead
The hosted tools an agent can call/v1/manifest
The tools THIS account can call/v1/tools
Every endpoint, fully typed/v1/openapi.json
What one model supports/v1/models/{id}/schema

Your own MCP servers are a desktop feature

Connecting external MCP servers to the assistant is configured in the desktop app and the MCP page, not through this API. This page is about what the API exposes to your agent.