Skip to main content
Glama

get-action

Retrieve specific Trello action details by ID, including customizable fields, member data, and entity information, for enhanced project management integration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionIdYesID of the action to retrieve
displayNoInclude display information
entitiesNoInclude entity information
fieldsNoComma-separated list of fields to include
memberNoInclude member information
memberCreatorNoInclude member creator information
memberCreatorFieldsNoComma-separated list of member creator fields
memberFieldsNoComma-separated list of member fields

Implementation Reference

  • The core handler function for the 'get-action' tool. It performs a GET request to the Trello API endpoint https://api.trello.com/1/actions/{actionId}, appending optional query parameters like display, entities, fields, member, etc., based on input. Handles credentials check, error catching, and returns JSON content or error.
    async ({ actionId, display, entities, fields, member, memberCreator, memberCreatorFields, memberFields }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const url = new URL(`https://api.trello.com/1/actions/${actionId}`); url.searchParams.append('key', credentials.apiKey); url.searchParams.append('token', credentials.apiToken); if (display !== undefined) url.searchParams.append('display', display.toString()); if (entities !== undefined) url.searchParams.append('entities', entities.toString()); if (fields) url.searchParams.append('fields', fields); if (member !== undefined) url.searchParams.append('member', member.toString()); if (memberCreator !== undefined) url.searchParams.append('memberCreator', memberCreator.toString()); if (memberCreatorFields) url.searchParams.append('memberCreator_fields', memberCreatorFields); if (memberFields) url.searchParams.append('member_fields', memberFields); const response = await fetch(url.toString()); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting action: ${error}`, }, ], isError: true, }; } } );
  • Zod schema defining the input parameters for the 'get-action' tool: actionId (required string), and optional parameters: display (boolean), entities (boolean), fields (string), member (boolean), memberCreator (boolean), memberCreatorFields (string), memberFields (string).
    { actionId: z.string().describe('ID of the action to retrieve'), display: z.boolean().optional().describe('Include display information'), entities: z.boolean().optional().describe('Include entity information'), fields: z.string().optional().describe('Comma-separated list of fields to include'), member: z.boolean().optional().describe('Include member information'), memberCreator: z.boolean().optional().describe('Include member creator information'), memberCreatorFields: z.string().optional().describe('Comma-separated list of member creator fields'), memberFields: z.string().optional().describe('Comma-separated list of member fields'), },
  • The server.tool('get-action', schema, handler) call within the registerActionsTools function, which defines and registers the tool.
    'get-action', { actionId: z.string().describe('ID of the action to retrieve'), display: z.boolean().optional().describe('Include display information'), entities: z.boolean().optional().describe('Include entity information'), fields: z.string().optional().describe('Comma-separated list of fields to include'), member: z.boolean().optional().describe('Include member information'), memberCreator: z.boolean().optional().describe('Include member creator information'), memberCreatorFields: z.string().optional().describe('Comma-separated list of member creator fields'), memberFields: z.string().optional().describe('Comma-separated list of member fields'), }, async ({ actionId, display, entities, fields, member, memberCreator, memberCreatorFields, memberFields }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const url = new URL(`https://api.trello.com/1/actions/${actionId}`); url.searchParams.append('key', credentials.apiKey); url.searchParams.append('token', credentials.apiToken); if (display !== undefined) url.searchParams.append('display', display.toString()); if (entities !== undefined) url.searchParams.append('entities', entities.toString()); if (fields) url.searchParams.append('fields', fields); if (member !== undefined) url.searchParams.append('member', member.toString()); if (memberCreator !== undefined) url.searchParams.append('memberCreator', memberCreator.toString()); if (memberCreatorFields) url.searchParams.append('memberCreator_fields', memberCreatorFields); if (memberFields) url.searchParams.append('member_fields', memberFields); const response = await fetch(url.toString()); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting action: ${error}`, }, ], isError: true, }; } } );
  • src/index.ts:92-92 (registration)
    Invocation of registerActionsTools(server, credentials) in the main server setup, which registers the 'get-action' tool among other actions tools.
    registerActionsTools(server, credentials);

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/adriangrahldev/advanced-trello-mcp-server'

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