Leo for agents

The Leo MCP server

Remote MCP at https://www.leo.co.ke/mcp, over the same operations as the Agent API.

Address and transport

MCP server

https://www.leo.co.ke/mcp
  • Protocol 2026-07-28, and 2025-11-25, 2025-06-18, 2025-03-26 for clients that start with initialize.
  • Streamable HTTP, stateless: every request is a POST and gets one JSON response. No sessions, no GET stream.
  • Authentication: OAuth 2.1 (clients discover it from the 401), or a personal token as Authorization: Bearer.
  • Tools are listed per credential: you see the tools your scopes allow.

Discovery

  • Protected resource metadata: https://www.leo.co.ke/.well-known/oauth-protected-resource/mcp
  • Authorisation server metadata: https://www.leo.co.ke/.well-known/oauth-authorization-server
  • server/discover answers without a credential with the versions, capabilities and instructions.

Tools

ToolWhat it doesKindScopes
whoamiWho am I in LeoReadsany credential
list_workspacesList the workspaces this connection may useReadsany credential
get_workspace_overviewWorkspace overviewReadsworkspace.read
get_context_packageGet the context packageReadscontext.read
searchSearch LeoReadscontext.read
fetchFetch a Leo recordReadscontext.read
list_projectsList projectsReadswork.read
get_projectGet a projectReadswork.read
create_projectCreate a projectWriteswork.write
update_projectUpdate a projectWriteswork.write
record_project_decisionRecord a project decisionWritescontext.write
record_contextRecord contextWritescontext.write
add_project_referenceAdd a project referenceWritescontext.write
list_tasksList tasksReadswork.read
get_taskGet a taskReadswork.read
create_taskCreate a taskWriteswork.write
update_taskUpdate a taskWriteswork.write
complete_taskComplete a taskWriteswork.write
request_task_approvalAsk a person to approve a taskWriteswork.write
start_task_runStart work on a taskWriteswork.execute
report_run_progressReport progress on a runWriteswork.execute
finish_task_runFinish a runWriteswork.execute
hand_off_workHand work onWriteswork.execute
get_runGet a runReadswork.read
list_task_runsList runs on a taskReadswork.read
list_artifactsList artifactsReadslibrary.read
get_artifactGet an artifactReadslibrary.read
request_file_uploadGet an address to upload a file toWriteslibrary.write
publish_artifactPublish an artifactWriteslibrary.write
find_companiesFind companiesReadscrm.read
get_companyGet a companyReadscrm.read
create_companyCreate a companyWritescrm.write
update_companyUpdate a companyWritescrm.write
find_contactsFind contactsReadscrm.read
get_contactGet a contactReadscrm.read
create_contactCreate a contactWritescrm.write
update_contactUpdate a contactWritescrm.write
list_dealsList dealsReadscrm.read
get_dealGet a dealReadscrm.read
create_dealCreate a dealWritescrm.write
update_dealUpdate a dealWritescrm.write
record_interactionRecord an interaction or researchWritescrm.write
list_studio_projectsList Studio projectsReadsstudio.read
list_studio_assetsList Studio rendersReadsstudio.read
list_studio_modelsList Studio modelsReadsstudio.read
get_brand_guidelinesRead the brand guidelinesReadsstudio.read
quote_studio_generationPrice an image or videoReadsstudio.read
generate_studio_mediaMake an image or videoWritesstudio.generate
get_studio_generationCheck one renderWritesstudio.read
list_studio_voicesList Leo Audio voicesReadsstudio.read
quote_studio_audioPrice a voice, music or sound effectReadsstudio.read
generate_studio_audioMake a voice, music or sound effectWritesstudio.generate
list_meetingsList meetingsReadsmeetings.read
get_meetingRead a meetingReadsmeetings.read
list_computersList the person's computersReadsworkspace.read
list_historyRead what happened on a project or taskReadswork.read

Prompts

  • continue_task: Pick up a task in Leo from its durable context: read it, run it, report on it, and either finish it or hand it over.
  • reconstruct_project: Turn what the person tells you about a real client or project into canonical Leo records, deliberately and with sources, one project at a time.
  • hand_off: Leave a task so that another person or a different engine can continue it from Leo alone.

Errors

A refused tool call is a tool result with isError set, carrying the stable code, the message and a hint. A missing scope also carries the challenge a host can use to ask for more (_meta["mcp/www_authenticate"]). Unknown tools and malformed requests are JSON-RPC errors.

Leo MCP server | Leo