MCP Servers
by RahulRana0707
MCP Servers is a TypeScript-based server implementation for Model Context Protocol (MCP). It provides integration tools for various services like JIRA and TODO management.
View on GitHub
Last updated: N/A
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
- Define tool constants in
constant/tool-name.ts
- Create schema in
schema/
directory - Implement tool handler in
tools/
directory - Add configuration in
config/
directory - 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
- Create feature branch
- Implement changes
- Run tests (when implemented)
- Build project
- 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