jeevesagent.jeeves¶
First-party Jeeves Gateway integration.
Sugar over jeevesagent.mcp for the public Jeeves MCP gateway.
JeevesGateway is itself a ToolHost so it drops straight into
Agent(tools=...).
Quick start:
from jeevesagent import Agent
from jeevesagent.jeeves import JeevesGateway
agent = Agent(
"You are a productivity assistant",
tools=JeevesGateway.from_env(),
)
Submodules¶
Attributes¶
Classes¶
Connection details for the Jeeves Gateway. |
|
ToolHost-shaped wrapper around the Jeeves Gateway. |
Functions¶
|
Return |
Package Contents¶
- class jeevesagent.jeeves.JeevesGateway(config: JeevesConfig, *, registry: jeevesagent.mcp.registry.MCPRegistry | None = None)[source]¶
ToolHost-shaped wrapper around the Jeeves Gateway.
- as_mcp_server() jeevesagent.mcp.spec.MCPServerSpec[source]¶
Return the
MCPServerSpecdescribing this gateway.
- as_registry() jeevesagent.mcp.registry.MCPRegistry[source]¶
Return a one-server
MCPRegistryrooted at this gateway.
- async call(tool: str, args: collections.abc.Mapping[str, Any], *, call_id: str = '') jeevesagent.core.types.ToolResult[source]¶
- classmethod from_env(*, env_var: str = JEEVES_API_KEY_ENV, base_url: str | None = None, server_name: str = JEEVES_DEFAULT_SERVER_NAME) JeevesGateway[source]¶
Build a gateway from the
JEEVES_API_KEYenvironment variable.
- property config: JeevesConfig¶
- jeevesagent.jeeves.looks_like_jeeves_key(value: str) bool[source]¶
Return
Trueifvaluematches the Jeeves API-key shape.The check is intentionally permissive — it only verifies the well-known
jm_sk_prefix so callers can warn on obviously-wrong inputs without blocking unconventional formats the server may accept.
- jeevesagent.jeeves.JEEVES_API_KEY_ENV = 'JEEVES_API_KEY'¶
- jeevesagent.jeeves.JEEVES_DEFAULT_BASE_URL = 'https://jeeves.works/mcp'¶
- jeevesagent.jeeves.JEEVES_TOKEN_PREFIX = 'jm_sk_'¶