retrieve_field_plugin
Retrieve a single field plugin by its numeric ID in a specified context such as space, org, or partner.
Instructions
Retrieves a single field plugin by its ID in the specified context.
Args: field_type_id (int): Numeric ID of the field plugin. context (str): 'space', 'org', or 'partner'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| field_type_id | Yes | Numeric ID of the field plugin | |
| context | No | Context: 'space', 'org', or 'partner' | space |
Implementation Reference
- src/tools/field-plugins.ts:75-103 (handler)The handler for the 'retrieve_field_plugin' tool. Registered via server.tool(), it accepts field_type_id and context parameters, makes a GET request to the field plugins API endpoint, and returns the JSON response.
// Tool: retrieve_field_plugin server.tool( 'retrieve_field_plugin', `Retrieves a single field plugin by its ID in the specified context. Args: field_type_id (int): Numeric ID of the field plugin. context (str): 'space', 'org', or 'partner'.`, { field_type_id: z.number().describe('Numeric ID of the field plugin'), context: z.enum(['space', 'org', 'partner']).default('space').describe("Context: 'space', 'org', or 'partner'"), }, async ({ field_type_id, context }) => { try { const url = `${FIELD_PLUGIN_URLS[context]}/${field_type_id}`; const response = await fetch(url, { method: 'GET', headers: getManagementHeaders(), }); const data = await handleResponse(response, url); return createJsonResponse(data); } catch (error) { if (error instanceof APIError) { return createErrorResponse(error); } throw error; } } ); - src/tools/field-plugins.ts:83-86 (schema)Zod schema for the 'retrieve_field_plugin' tool: field_type_id (number, required) and context (enum: space/org/partner, default: 'space').
{ field_type_id: z.number().describe('Numeric ID of the field plugin'), context: z.enum(['space', 'org', 'partner']).default('space').describe("Context: 'space', 'org', or 'partner'"), }, - src/tools/field-plugins.ts:76-103 (registration)Registration of the 'retrieve_field_plugin' tool via server.tool() inside the registerFieldPlugins function.
server.tool( 'retrieve_field_plugin', `Retrieves a single field plugin by its ID in the specified context. Args: field_type_id (int): Numeric ID of the field plugin. context (str): 'space', 'org', or 'partner'.`, { field_type_id: z.number().describe('Numeric ID of the field plugin'), context: z.enum(['space', 'org', 'partner']).default('space').describe("Context: 'space', 'org', or 'partner'"), }, async ({ field_type_id, context }) => { try { const url = `${FIELD_PLUGIN_URLS[context]}/${field_type_id}`; const response = await fetch(url, { method: 'GET', headers: getManagementHeaders(), }); const data = await handleResponse(response, url); return createJsonResponse(data); } catch (error) { if (error instanceof APIError) { return createErrorResponse(error); } throw error; } } ); - src/tools/index.ts:37-103 (registration)Import of registerFieldPlugins from field-plugins.js, called at line 103 to register all field plugin tools (including retrieve_field_plugin).
import { registerFieldPlugins } from './field-plugins.js'; /** * Registers all tools with the MCP server */ export function registerAllTools(server: McpServer): void { // Simple tools registerPing(server); registerMeta(server); // Tag management registerTags(server); registerInternalTags(server); // Access and authentication registerAccessTokens(server); // Activity tracking registerActivities(server); // Workflow management registerApprovals(server); registerWorkflows(server); registerWorkflowStages(server); registerWorkflowStageChanges(server); // Branch/Pipeline management registerBranches(server); registerBranchDeployments(server); // User management registerCollaborators(server); registerSpaceRoles(server); // Data sources registerDatasources(server); registerDatasourceEntries(server); // Content management registerPresets(server); registerReleases(server); registerSchedulingStories(server); registerTasks(server); // Space management registerSpace(server); // Webhooks registerWebhooks(server); // Components registerComponents(server); registerComponentsFolder(server); // Assets registerAssets(server); registerAssetsFolders(server); // Stories (most complex) registerStories(server); // Discussions registerDiscussions(server); // Extensions and plugins registerExtensions(server); registerFieldPlugins(server); - src/utils/api.ts:106-111 (helper)getManagementHeaders() helper used by the handler to construct Authorization and Content-Type headers for the API request.
export function getManagementHeaders(): Record<string, string> { return { Authorization: cfg.managementToken, 'Content-Type': 'application/json', }; }