mcpField
C
Claude Text Editor MCP Server

Claude Text Editor MCP Server

Local
npmjs.comAI & Agents36Updated 84w ago

About Claude Text Editor MCP Server

Claude Text Editor MCP Server is an open source MCP server that reimplements Claude's built-in text editor tool. It is aimed at developers who want Claude-compatible file viewing and editing through a standard interface. Its API matches the built-in tool, but it uses the name text_editor to avoid conflicts.

Key features

  1. 01View file contents with optional line ranges
  2. 02Create new files
  3. 03Replace text in existing files
  4. 04Insert text at a specific line
  5. 05Undo the previous edit

Use cases

  1. 01Letting Claude read and modify local source files through an MCP client
  2. 02Providing file editing in Claude Desktop through a standard MCP server

MCP support

This is an MCP server that exposes a text_editor tool to MCP clients, with view, create, str_replace, insert and undo_edit commands.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"text-editor": {
"command": "npx",
"args": [
"-y",
"mcp-server-text-editor"
]
}
}
}
Run commandnpx -y mcp-server-text-editor

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp-server-text-editor

Tools

1

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
commandenumYesThe commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`, `undo_edit`.view | create | str_replace | insert | undo_edit
pathstringYesAbsolute path to file or directory, e.g. `/repo/file.py` or `/repo`.
file_textstringNoRequired parameter of `create` command, with the content of the file to be created.
insert_linenumberNoRequired parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`.
new_strstringNoOptional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert.
old_strstringNoRequired parameter of `str_replace` command containing the string in `path` to replace.
view_rangearrayNoOptional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file.
descriptionstringYesThe reason you are using the text editor (max 80 chars)

Details

From the project README

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.