# 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
## π¦ 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:
```typescript
// 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