A favicon of Text Editor MCP Server

Text Editor MCP Server

An open source implementation of the Claude built-in text editor tool

Installation

Installing for Claude Desktop

Option 1: One-Command Installation

npx mcpbar install bhouston/mcp-server-text-editor -c claude

This command will automatically install and configure the Text Editor MCP Server MCP server for your selected client.

Option 2: Manual Configuration

View JSON configuration
{
  "mcpServers": {
    "Text Editor MCP Server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-text-editor"
      ]
    }
  }
}

Copy and paste this configuration into your MCP client's configuration file to manually set up this server.

Common MCP clients
  • claude - Claude Desktop
  • cursor - Cursor Code Editor
  • cline - Cline (VS Code)
  • windsurf - Windsurf Editor
  • witsy - Witsy AI Assistant

Claude Text Editor MCP Server

npm version CI Status Test Coverage

Model Context Protocol Logo

An open-source implementation of the Claude built-in text editor tool as a Model Context Protocol (MCP) server. This package provides the same functionality as Claude's built-in text editor tool, allowing you to view, edit, and create text files through a standardized API.

Features

  • Identical API to Claude's Text Editor: Implements the exact same interface as Claude's built-in text editor tool
  • MCP Server Implementation: Follows the Model Context Protocol standard for AI tool integration
  • File Operations:
    • View file contents with optional line range specification
    • Create new files
    • Replace text in existing files
    • Insert text at specific line numbers
    • Undo previous edits

Supported Claude Text Editor Versions

This package implements an equivalent tool to the built-in Claude text editor tool versions:

  • text_editor_20241022 (Claude 3.5 Sonnet)
  • text_editor_20250124 (Claude 3.7 Sonnet)

But using the tool name 'text_editor' to avoid name conflicts with built-in Claude tools.

Installation

# Install from npm
npm install mcp-server-text-editor

# Or with pnpm
pnpm add mcp-server-text-editor

Usage

Starting the Server

# Using npx
npx -y mcp-server-text-editor

# Or if installed globally
mcp-server-text-editor

Configuring in Claude Desktop

{
  "mcpServers": {
    "textEditor": {
      "command": "npx",
      "args": ["-y", "mcp-server-text-editor"]
    }
  }
}

Tool Commands

View

View the contents of a file or directory.

{
  "command": "view",
  "path": "/path/to/file.js",
  "view_range": [1, 10] // Optional: Show lines 1-10 only
}

Create

Create a new file with the specified content.

{
  "command": "create",
  "path": "/path/to/file.js",
  "file_text": "console.log('Hello, world!');"
}

String Replace

Replace text in a file.

{
  "command": "str_replace",
  "path": "/path/to/file.js",
  "old_str": "console.log('Hello, world!');",
  "new_str": "console.log('Hello, Claude!');"
}

Insert

Insert text at a specific line.

{
  "command": "insert",
  "path": "/path/to/file.js",
  "insert_line": 5,
  "new_str": "// This line was inserted by Claude"
}

Undo Edit

Revert the last edit made to a file.

{
  "command": "undo_edit",
  "path": "/path/to/file.js"
}

Development

Prerequisites

  • Node.js 18+
  • pnpm

Setup

# Clone the repository
git clone https://github.com/bhouston/mcp-server-text-editor.git
cd mcp-server-text-editor

# Install dependencies
pnpm install

# Build the project
pnpm build

Scripts

  • pnpm build: Build the TypeScript project
  • pnpm lint: Run ESLint with auto-fixing
  • pnpm format: Format code with Prettier
  • pnpm clean: Remove build artifacts
  • pnpm clean:all: Remove build artifacts and node_modules
  • pnpm test: Run tests
  • pnpm test:coverage: Run tests with coverage report

Testing

This project uses Vitest for testing.

To run the tests:

# Run all tests
pnpm test

# Run tests with coverage report
pnpm test:coverage

The test coverage report will be generated in the coverage directory.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request
Share:
Details:
  • Stars


    13
  • Forks


    5
  • Last commit


    2 months ago
  • Repository age


    2 months
  • License


    MIT
View Repository

Auto-fetched from GitHub .

MCP servers similar to Text Editor MCP Server:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit