Skip to content

Cyclops

Minimal Python agent framework. Any LLM. MCP native.

Any LLM

OpenAI, Anthropic, Groq, Ollama, Together AI, and every other provider LiteLLM supports. Swap the model string, nothing else changes.

MCP native

Connect to any MCP server with MCPClient, or expose your tools as an MCP server with MCPServer. Works with Claude Desktop, Cursor, and any MCP host.

Tools in one line

Decorate any Python function with @tool. Type annotations become the JSON schema. The docstring becomes the description.

Streaming built in

stream() and astream() work with and without tools. True token streaming for tool-free agents; final-answer streaming after tool execution.

Structured output

Pass a Pydantic model as response_model to get a typed instance back instead of a string. Your IDE sees the correct type.

Cost tracking

run_with_response() returns prompt tokens, completion tokens, and estimated USD cost alongside every reply.