homello.get_info
Retrieve Homello platform information, documentation, and API configuration details to understand system capabilities and settings.
Instructions
Returns Homello platform information and docs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/server.ts:14-35 (handler)The MCP tool registration includes the inline handler function that executes the tool logic: loads Homello info and config, constructs output object, and returns text and structured content.server.registerTool( "homello.get_info", { title: "Homello Platform Info", description: "Returns Homello platform information and docs" }, async () => { const info = loadHomelloInfo(); const output = { platform: info.product, api_base: config.apiBase, market: config.market, timeout_secs: config.timeoutSecs, debug: config.debug, docs: info.sources }; return { content: [{ type: "text", text: JSON.stringify(output) }], structuredContent: output }; } );
- src/homelloInfo.ts:13-20 (helper)Helper function loadHomelloInfo() that reads and parses the Homello info JSON asset, with caching.export function loadHomelloInfo(): HomelloInfoBundle { if (cached) return cached; const p = assetPath(); const raw = fs.readFileSync(p, "utf8"); const parsed = JSON.parse(raw) as HomelloInfoBundle; cached = parsed; return parsed; }
- src/types.ts:1-4 (schema)TypeScript interface defining the structure of HomelloInfoBundle used for platform info in the tool output.export interface HomelloInfoBundle { product: "Homello"; sources: Record<string, string>; }
- src/config.ts:137-166 (helper)Helper function loadConfig() that loads configuration for API base, key, market, timeout, and debug from env, Goose YAML, with defaults. Used in the tool handler.export function loadConfig(): HomelloConfig { const p = gooseConfigPath(); let envs: Record<string, string> = {}; const doc = readYaml(p); const extId = currentExtensionId(); const entry = doc.extensions && doc.extensions[extId] ? doc.extensions[extId] : undefined; if (entry && typeof entry.envs === "object" && entry.envs !== null) { envs = entry.envs; } const get = (k: string, fallback: string): string => { const fromEnv = process.env[k]; if (fromEnv !== undefined && fromEnv !== "") return fromEnv; const fromFile = envs[k]; if (fromFile !== undefined && fromFile !== "") return fromFile; return fallback; }; const apiBase = get("HOMELLO_API_BASE", "https://api.homello.ai"); const apiKey = get("HOMELLO_API_KEY", ""); const market = get("HOMELLO_DEFAULT_MARKET", "US"); const timeoutSecsStr = get("HOMELLO_TIMEOUT_SECS", "30"); const debugStr = get("HOMELLO_DEBUG", "0"); const timeoutSecsNum = Number(timeoutSecsStr); const timeoutSecs = Number.isFinite(timeoutSecsNum) ? timeoutSecsNum : 30; const debug = debugStr === "1" || debugStr.toLowerCase() === "true"; return { apiBase, apiKey, market, timeoutSecs, debug }; }
- src/config.ts:9-15 (schema)TypeScript interface defining the HomelloConfig used in the tool output.export interface HomelloConfig { apiBase: string; apiKey: string; market: string; timeoutSecs: number; debug: boolean; }