Skip to main content
Glama
mohit-novo

Lithic MCP Server

by mohit-novo

get_resource

Retrieve specific Lithic banking resources like cards, accounts, or transactions by providing the resource type and ID.

Instructions

Get a specific Lithic resource by ID

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
resourceTypeYesType of resource (card, account, transaction, etc.)
resourceIdYesID/token of the resource to fetch

Implementation Reference

  • The handler logic for the 'get_resource' tool. It validates the input arguments using Zod, maps the resource type to the appropriate Lithic API endpoint, fetches the specific resource by ID using axios, and returns the JSON response or an error message.
    if (request.params.name === "get_resource") { try { // Parse and validate arguments const args = z.object({ resourceType: resourceTypeSchema, resourceId: resourceIdSchema }).parse(request.params.arguments); // Map to standardized resource type const standardizedResourceType = RESOURCE_MAP[args.resourceType.toLowerCase()] || args.resourceType; // Map resource type to endpoint const endpoint = mapResourceTypeToEndpoint(standardizedResourceType); const response = await lithicApi.get(`${endpoint}/${args.resourceId}`); return { content: [ { type: "text", text: JSON.stringify(response.data, null, 2) } ] }; } catch (error: any) { console.error(`Error fetching resource:`, error.message); return { isError: true, content: [ { type: "text", text: `Error fetching resource: ${error.message}` } ] }; }
  • JSON Schema definition for the 'get_resource' tool input parameters, specifying resourceType and resourceId as required strings.
    inputSchema: { type: "object", properties: { resourceType: { type: "string", description: "Type of resource (card, account, transaction, etc.)" }, resourceId: { type: "string", description: "ID/token of the resource to fetch" } }, required: ["resourceType", "resourceId"] }
  • src/index.ts:82-99 (registration)
    Registration of the 'get_resource' tool in the ListToolsRequestSchema handler, including name, description, and input schema.
    { name: "get_resource", description: "Get a specific Lithic resource by ID", inputSchema: { type: "object", properties: { resourceType: { type: "string", description: "Type of resource (card, account, transaction, etc.)" }, resourceId: { type: "string", description: "ID/token of the resource to fetch" } }, required: ["resourceType", "resourceId"] } },
  • Helper function that maps a resource type string to the corresponding Lithic API endpoint path, used in the get_resource handler.
    function mapResourceTypeToEndpoint(resourceType: string): string { switch (resourceType) { case 'card': return '/cards'; case 'account': return '/accounts'; case 'financial_account': return '/financial_accounts'; case 'transaction': return '/transactions'; case 'external_bank_account': return '/external_bank_accounts'; case 'event': return '/events'; case 'balance': return '/balances'; case 'card_program': return '/card_programs'; case 'dispute': return '/disputes'; case 'report': return '/reports'; case 'webhook': return '/webhooks'; case 'account_holder': return '/account_holders'; default: return `/${resourceType}s`; // Default to pluralizing the resource type } }
  • Mapping object for standardizing various resource type aliases to canonical Lithic API resource types, used in get_resource and list_resources handlers.
    const RESOURCE_MAP: Record<string, string> = { 'card': 'card', 'account': 'account', 'financial_account': 'financial_account', 'financial-account': 'financial_account', 'credit': 'financial_account', 'credit-account': 'financial_account', 'transaction': 'transaction', 'event': 'event', 'balance': 'balance', 'dispute': 'dispute', 'bank': 'external_bank_account', 'bank-account': 'external_bank_account', 'external_bank_account': 'external_bank_account', 'report': 'report', 'webhook': 'webhook', 'card_program': 'card_program', 'account_holder': 'account_holder' };
Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mohit-novo/mcp-lithic'

If you have feedback or need assistance with the MCP directory API, please join our Discord server