Skip to content
OpenComputer
Concepts

Agent capabilities

Choose tools, MCP servers, skills, memory and outbound connections

Capabilities give an agent something beyond its instructions and model. Choose the narrowest capability that fits the job.

CapabilityUse it forWhere the work happensHow it is attached
Code-defined toolOne typed operation you implementYour TypeScript run() functionuseTool(tool)
Tool that waits for approvalA write a person should agree to firstYour preview() shows it; your apply() runs after a decisionuseTool(tool) — the same tool, defined with preview/apply instead of run
Connected serviceGoogle services, GitHub, or Linear, on someone’s connected accountOpenComputer attaches and refreshes the credentialuseService("gmail"), then callService() in a tool
MCP serverA service that already publishes a collection of toolsThe remote MCP serveruseMcpServer(server)
SkillA reusable procedure, checklist, or supporting filesThe agent follows the loaded instructionsPlace it under skills/
HTTP connectionA constrained authenticated outbound requestOpenComputer sends the declared requestCall defineConnection().fetch() inside a tool
GitHub App connectionDirect Git and GitHub API access to an installationThe agent sandbox uses a short-lived installation tokenuseConnection(github)
MemoryNotes shared across sessionsOpenComputer stores documents; the agent reads and saves through memory toolsuseMemory(memory)

useModel() selects the model for a render, but it does not add an executable capability.

Tool or MCP server?

Use a code-defined tool when you own the operation, want a small schema, or need application-specific validation. Use an MCP server when another service already hosts the tools.

Both ultimately give the model callable tools. A code-defined tool exposes the single operation you register; an MCP server exposes the tools it advertises.

Tool or skill?

A tool performs an operation and returns structured data. A skill teaches the agent how to approach a category of work. Many agents use both: the skill describes the workflow while tools perform the individual actions.

Session data or memory?

Session data describes the current session and is set by your application. Document memory keeps notes across sessions that agents can save and owners can edit. A tool that writes to your own database is a third option when the data belongs to your application rather than to the agent’s continuing work.

HTTP connections are not managed accounts

defineConnection() declares a secret-backed HTTP destination. It is not an OAuth account selector and does not itself give the model a tool. Call it from a code-defined tool or attach it to an MCP definition that accepts the declared authorization headers. The proposed HTTP memory provider contract uses the same connection mechanism.

A managed GitHub App connection is the exception: the user installs OpenComputer’s App, chooses repositories in GitHub, and the eligible agent receives a short-lived installation token for direct Git and API calls.

See Secrets and outbound requests for the complete security model.