Skip to main content
Glama
index.js2.93 kB
import { create_plane_issue } from './create_plane_issue.js'; import { create_plane_project_v2 } from './create_plane_project_v2.js'; import { delete_plane_project } from './delete_plane_project.js'; import { get_plane_issue_id } from './get_plane_issue_id.js'; import { list_plane_issues } from './list_plane_issues.js'; import { list_plane_projects } from './list_plane_projects.js'; import { update_plane_issue } from './update_plane_issue.js'; import { update_plane_project } from './update_plane_project.js'; import { CallToolRequestSchema, ListToolsRequestSchema, McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js'; const planeToolDefinitions = [ create_plane_issue.definition, create_plane_project_v2.definition, delete_plane_project.definition, get_plane_issue_id.definition, list_plane_issues.definition, list_plane_projects.definition, update_plane_issue.definition, update_plane_project.definition ]; const planeToolHandlers = { create_plane_issue: create_plane_issue.handler, create_plane_project_v2: create_plane_project_v2.handler, delete_plane_project: delete_plane_project.handler, get_plane_issue_id: get_plane_issue_id.handler, list_plane_issues: list_plane_issues.handler, list_plane_projects: list_plane_projects.handler, update_plane_issue: update_plane_issue.handler, update_plane_project: update_plane_project.handler }; /** * Register all tool handlers with the server * @param {Object} server - The MCP server instance */ export function registerToolHandlers(server) { // Register tool definitions server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: planeToolDefinitions, })); // Register tool call handler server.setRequestHandler(CallToolRequestSchema, async (request) => { const handler = planeToolHandlers[request.params.name]; if (handler) { return handler(server, request.params.arguments); } else { throw new McpError( ErrorCode.MethodNotFound, `Unknown tool: ${request.params.name}` ); } }); } // Export all tool definitions export const toolDefinitions = planeToolDefinitions; // Export all tool handlers export const toolHandlers = planeToolHandlers; /** * Returns a formatted list of all available Plane tools with their descriptions * @returns {Array} Array of objects containing tool name and description */ export function getToolsList() { return planeToolDefinitions.map(tool => ({ name: tool.name, description: tool.description })); } /** * Logs all available Plane tools to the console */ export function showTools() { console.log('Available Plane Tools:'); console.log('====================='); planeToolDefinitions.forEach(tool => { console.log(`- ${tool.name}: ${tool.description}`); }); }

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/oculairmedia/plane-projectmanagement_mcp'

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