get_score
Retrieve detailed AN Score breakdowns to evaluate API services for AI agents, enabling informed integration decisions through Rhumb's discovery platform.
Instructions
Get detailed AN Score breakdown for a service
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Service slug to look up |
Implementation Reference
- packages/mcp/src/tools/score.ts:18-52 (handler)The handler function for the 'get_score' MCP tool, which fetches a service score via the Rhumb API client.
export async function handleGetScore( input: GetScoreInput, client: RhumbApiClient ): Promise<GetScoreOutput> { try { const score = await client.getServiceScore(input.slug); if (!score) { return { slug: input.slug, aggregateScore: null, executionScore: null, accessScore: null, confidence: 0, tier: "unknown", explanation: `Service '${input.slug}' not found`, freshness: "unknown" }; } return score; } catch (error) { const message = error instanceof Error ? error.message : "Unknown error"; return { slug: input.slug, aggregateScore: null, executionScore: null, accessScore: null, confidence: 0, tier: "unknown", explanation: `Failed to fetch score: ${message}`, freshness: "unknown" }; } } - packages/mcp/src/types.ts:41-62 (schema)The input schema and TypeScript type definitions for the 'get_score' MCP tool.
export const GetScoreInputSchema = { type: "object" as const, properties: { slug: { type: "string" as const, description: "Service identifier from find_services results (e.g. 'stripe', 'sendgrid', 'openai', 'twilio')" } }, required: ["slug"] as const }; export type GetScoreInput = { slug: string; }; export type GetScoreOutput = { slug: string; aggregateScore: number | null; executionScore: number | null; accessScore: number | null; confidence: number; tier: string; explanation: string; freshness: string; }; - packages/mcp/src/server.ts:73-81 (registration)The registration of the 'get_score' tool in the MCP server, where the input is validated and passed to the handler.
// -- get_score --------------------------------------------------------- server.tool( "get_score", "Get the full AN Score breakdown for a Service: execution quality, access readiness, autonomy level, tier label, and freshness. Use after find_services to evaluate a specific Service.", { slug: z.string().describe(GetScoreInputSchema.properties.slug.description) }, async ({ slug }) => { const result = await handleGetScore({ slug }, client);