Skip to main content
Glama

MCP Servers

A TypeScript-based server implementation for Model Context Protocol (MCP) that provides integration tools for various services like JIRA and TODO management.

πŸš€ Features

  • Multiple Tool Integration: Modular architecture supporting multiple tool integrations

  • Type Safety: Full TypeScript support with Zod schema validation

  • ESM Support: Modern ES Modules implementation

  • Extensible: Easy to add new tools and integrations

Related MCP server: JIRA MCP Server

πŸ“¦ Current Tools

JIRA Integration

  • Create issues with customizable fields

  • Automatic response formatting

  • Schema validation for issue creation

TODO Management

  • Create todos with priority and due dates

  • Flexible schema supporting optional fields

  • Formatted response messages

πŸ›  Project Structure

src/
β”œβ”€β”€ config/           # Tool configurations
β”‚   β”œβ”€β”€ jira-tool.config.ts
β”‚   └── todo-tool.config.ts
β”œβ”€β”€ constant/         # Constant definitions
β”‚   └── tool-name.ts
β”œβ”€β”€ schema/          # Zod schemas for validation
β”‚   β”œβ”€β”€ jira.ts
β”‚   └── todo.ts
β”œβ”€β”€ server/          # Server management
β”‚   └── mcp-server-tool-manager.ts
β”œβ”€β”€ tools/           # Tool implementations
β”‚   β”œβ”€β”€ jira/
β”‚   β”‚   └── create-issue.ts
β”‚   └── todo/
β”‚       └── create-todo.ts
└── index.ts         # Main entry point

πŸ”Œ Adding New Tools

  1. Define tool constants in constant/tool-name.ts

  2. Create schema in schema/ directory

  3. Implement tool handler in tools/ directory

  4. Add configuration in config/ directory

  5. Register tool in index.ts

Example:

// 1. Add constant
export const NEW_TOOL = {
  ACTION: "action_name"
} as const;

// 2. Create schema
export const newToolSchema = z.object({
  // ... schema definition
});

// 3. Implement handler
export const handleAction = async (
  args: z.infer<typeof newToolSchema>,
  extra: RequestHandlerExtra
): Promise<CallToolResult> => {
  // ... implementation
};

// 4. Add configuration
export const newToolConfig = {
  name: "New Tool",
  version: "1.0.0",
  tools: [
    {
      name: NEW_TOOL.ACTION,
      schema: newToolSchema,
      handler: handleAction,
    },
  ],
};

πŸ”„ Development Workflow

  1. Create feature branch

  2. Implement changes

  3. Run tests (when implemented)

  4. Build project

  5. Submit PR

πŸ“ Notes

  • Uses ES Modules for better modularity

  • Implements Model Context Protocol for standardized communication

  • Follows TypeScript best practices

  • Zod schema validation for type safety

πŸ›£οΈ Roadmap

  • Add more JIRA operations

  • Implement TODO persistence

  • Add authentication

  • Add testing framework

  • Add more integrations (GitHub, Slack, etc.)

πŸ“„ License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

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/RahulRana0707/mcp-server'

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