mycoder

MCP.Pizza Chef: bhouston

Installed from npm and run at a command prompt, MyCoder reads your project's files, runs shell commands, opens a browser when it needs one, and can pick up work from GitHub issues and pull requests. It can split a job across several helper agents, and you can interrupt mid-run to steer it. You choose the model, whether that is Claude, an OpenAI model, or a local one through Ollama, and pay for that separately. It also connects to MCP servers you list in its settings file. Development has been quiet since early 2026.

Coding

Use This MCP client To

Ask for a new component and have the files written Hand off a GitHub issue and get a pull request back Have it explain and then fix a failing test Correct the agent mid-task when it goes off course Run it against a local model instead of a paid one

README

MyCoder

Command-line interface for AI-powered coding tasks. Full details available on the main MyCoder.ai website and the Official MyCoder.Ai Docs website.

Features

  • 🤖 AI-Powered: Leverages Anthropic's Claude, OpenAI models, and Ollama for intelligent coding assistance
  • 🛠️ Extensible Tool System: Modular architecture with various tool categories
  • 🔄 Parallel Execution: Ability to spawn sub-agents for concurrent task processing
  • 📝 Self-Modification: Can modify code, it was built and tested by writing itself
  • 🔍 Smart Logging: Hierarchical, color-coded logging system for clear output
  • 👤 Human Compatible: Uses README.md, project files and shell commands to build its own context
  • 🌐 GitHub Integration: GitHub mode for working with issues and PRs as part of workflow
  • 📄 Model Context Protocol: Support for MCP to access external context sources
  • 🧠 Message Compaction: Automatic management of context window for long-running agents

Please join the MyCoder.ai discord for support: https://discord.gg/5K6TYrHGHt

Installation

npm install -g mycoder

For detailed installation instructions for macOS and Linux, including how to set up Node.js using NVM, see our Getting Started guide.

Usage

# Interactive mode
mycoder -i

# Run with a prompt
mycoder "Implement a React component that displays a list of items"

# Run with a prompt from a file
mycoder -f prompt.txt

# Enable interactive corrections during execution (press Ctrl+M to send corrections)
mycoder --interactive "Implement a React component that displays a list of items"

# Disable user prompts for fully automated sessions
mycoder --userPrompt false "Generate a basic Express.js server"

# Disable user consent warning and version upgrade check for automated environments
mycoder --upgradeCheck false "Generate a basic Express.js server"

Configuration

MyCoder is configured using a configuration file in your project. MyCoder supports multiple configuration file locations and formats, similar to ESLint and other modern JavaScript tools.

Configuration File Locations

MyCoder will look for configuration in the following locations (in order of precedence):

  1. mycoder.config.js in your project root
  2. .mycoder.config.js in your project root
  3. .config/mycoder.js in your project root
  4. .mycoder.rc in your project root
  5. .mycoder.rc in your home directory
  6. mycoder field in package.json
  7. ~/.config/mycoder/config.js (XDG standard user configuration)

Multiple file extensions are supported: .js, .ts, .mjs, .cjs, .json, .jsonc, .json5, .yaml, .yml, and .toml.

Creating a Configuration File

Create a configuration file in your preferred location:

// mycoder.config.js
export default {
  // GitHub integration
  githubMode: true,

  // Browser settings
  headless: true,
  userSession: false,

  // System browser detection settings
  browser: {
    // Whether to use system browsers or Playwright's bundled browsers
    useSystemBrowsers: true,

    // Preferred browser type (chromium, firefox, webkit)
    preferredType: 'chromium',

    // Custom browser executable path (overrides automatic detection)
    // executablePath: null, // e.g., '/path/to/chrome'
  },

  // Model settings
  provider: 'anthropic',
  model: 'claude-3-7-sonnet-20250219',
  maxTokens: 4096,
  temperature: 0.7,

  // Custom settings
  // customPrompt can be a string or an array of strings for multiple lines
  customPrompt: '',
  // Example of multiple line custom prompts:
  // customPrompt: [
  //   'Custom instruction line 1',
  //   'Custom instruction line 2',
  //   'Custom instruction line 3',
  // ],
  profile: false,

  // Base URL configuration (for providers that need it)
  baseUrl: 'http://localhost:11434', // Example for Ollama

  // MCP configuration
  mcp: {
    servers: [
      {
        name: 'example',
        url: 'https://mcp.example.com',
        auth: {
          type: 'bearer',
          token: 'your-token-here',
        },
      },
    ],
    defaultResources: ['example://docs/api'],
    defaultTools: ['example://tools/search'],
  },
};

CLI arguments will override settings in your configuration file.

Interactive Corrections

MyCoder supports sending corrections to the main agent while it's running. This is useful when you notice the agent is going off track or needs additional information.

Usage

  1. Start MyCoder with the --interactive flag:

    mycoder --interactive "Implement a React component"
  2. While the agent is running, press Ctrl+M to enter correction mode

  3. Type your correction or additional context

  4. Press Enter to send the correction to the agent

The agent will receive your message and incorporate it into its decision-making process, similar to how parent agents can send messages to sub-agents.

Configuration

You can enable interactive corrections in your configuration file:

// mycoder.config.js
export default {
  // ... other options
  interactive: true,
};

GitHub Comment Commands

MyCoder can be triggered directly from GitHub issue comments using the flexible /mycoder command:

/mycoder [your instructions here]

Examples:

  • /mycoder implement a PR for this issue
  • /mycoder create an implementation plan
  • /mycoder suggest test cases for this feature

Learn more about GitHub comment commands

Packages

  • mycoder - Command-line interface for MyCoder
  • mycoder-agent - Agent module for MyCoder
  • mycoder-docs - Documentation website for MyCoder

Development

# Clone the repository
git clone https://github.com/drivecore/mycoder.git
cd mycoder

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Create a commit with interactive prompt
pnpm commit

Release Process

MyCoder follows the Conventional Commits specification for commit messages. Our release process is fully automated:

  1. Commit your changes following the conventional commits format
  2. Create a PR and get it reviewed and approved
  3. When merged to main, our CI/CD pipeline will:
    • Determine the next version based on commit messages
    • Generate a changelog
    • Create a GitHub Release
    • Tag the release
    • Publish to NPM

For more details, see the Contributing Guide.

Browser Automation

MyCoder uses Playwright for browser automation, which is used by the sessionStart and sessionMessage tools. By default, Playwright requires browsers to be installed separately via npx playwright install.

System Browser Detection

MyCoder now includes a system browser detection feature that allows it to use your existing installed browsers instead of requiring separate Playwright browser installations. This is particularly useful when MyCoder is installed globally.

The system browser detection:

  1. Automatically detects installed browsers on Windows, macOS, and Linux
  2. Supports Chrome, Edge, Firefox, and other browsers
  3. Maintains headless mode and clean session capabilities
  4. Falls back to Playwright's bundled browsers if no system browser is found

Configuration

You can configure the browser detection in your mycoder.config.js:

export default {
  // Other configuration...

  // System browser detection settings
  browser: {
    // Whether to use system browsers or Playwright's bundled browsers
    useSystemBrowsers: true,

    // Preferred browser type (chromium, firefox, webkit)
    preferredType: 'chromium',

    // Custom browser executable path (overrides automatic detection)
    // executablePath: null, // e.g., '/path/to/chrome'
  },
};

Contributing

Please see CONTRIBUTING.md for details on how to contribute to this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

mycoder FAQ

Is this something I add to Claude Desktop?
No. It is the assistant itself, a command-line agent that can use MCP servers you point it at.
Do I need to pay for a model?
Yes, unless you run a local model through Ollama. Otherwise you supply your own Claude or OpenAI key.
How do I install it?
One npm command installs it globally, then you run it from a terminal. Settings live in a small file in your project.
Can I use this to fix a bug described in a GitHub issue?
Yes. It has a GitHub mode and can be triggered from an issue comment to plan the work or open a pull request.
Is it still actively developed?
It has gone quiet. The last published release was March 2025 and the last code change was January 2026, so look for a livelier alternative before relying on it.
Does it need a graphical interface?
No. It runs entirely in a terminal, including an interactive mode where you type corrections while it works.
Will it change my files without asking?
It can edit code and run commands on its own, so work in a folder tracked by source control.