mcp-claude-duo/CONTRIBUTING.md
StillHammer 66e5c677ea v3.0 - Conversation-based messaging system
Features:
- Direct conversations (1-to-1) auto-created and permanent
- Group conversations with leave/archive support
- Real-time messaging via long-polling
- Offline notifications via CLAUDE.md
- Auto-registration on MCP startup

Architecture:
- Broker: Express HTTP server + SQLite
- MCP Partner: Modular tools (one file per tool)
- Full documentation and API reference
2026-01-25 02:57:24 +07:00

1.6 KiB

Contributing to MCP Claude Duo

Thanks for your interest in contributing!

Getting Started

  1. Fork the repository
  2. Clone your fork
  3. Install dependencies: npm install
  4. Start the broker: npm run broker

Development

Project Structure

mcp-claude-duo/
├── broker/           # HTTP server + SQLite
│   ├── index.js      # Express routes
│   └── db.js         # Database layer
├── mcp-partner/      # MCP server for Claude Code
│   ├── index.js      # Entry point
│   ├── shared.js     # Shared utilities
│   └── tools/        # One file per MCP tool
└── docs/             # Documentation

Adding a New Tool

  1. Create a new file in mcp-partner/tools/
  2. Export definition (tool schema) and handler (async function)
  3. Import and register in mcp-partner/index.js

Example:

import { brokerFetch, myId, ensureRegistered } from "../shared.js";

export const definition = {
  name: "my_tool",
  description: "Description of my tool",
  inputSchema: {
    type: "object",
    properties: {
      param: { type: "string", description: "A parameter" }
    },
    required: ["param"]
  }
};

export async function handler(args) {
  await ensureRegistered();
  // Your logic here
  return {
    content: [{ type: "text", text: "Result" }]
  };
}

Testing

# Start broker
npm run broker

# Test with curl
curl http://localhost:3210/health

Pull Requests

  1. Create a feature branch
  2. Make your changes
  3. Test locally
  4. Submit a PR with a clear description

Issues

Feel free to open issues for bugs, feature requests, or questions.