Skip to main content
Glama
bhouston

mcp-server-text-editor

by bhouston

Claude 텍스트 편집기 MCP 서버

npm 버전 CI 상태 테스트 범위

Claude 내장 텍스트 편집기 도구를 모델 컨텍스트 프로토콜 (MCP) 서버로 오픈 소스로 구현한 패키지입니다. 이 패키지는 Claude 내장 텍스트 편집기 와 동일한 기능을 제공하여 표준화된 API를 통해 텍스트 파일을 보고, 편집하고, 생성할 수 있도록 합니다.

특징

  • Claude의 텍스트 편집기와 동일한 API : Claude의 내장 텍스트 편집기 도구와 정확히 동일한 인터페이스를 구현합니다.

  • MCP 서버 구현 : AI 도구 통합을 위한 모델 컨텍스트 프로토콜 표준을 따릅니다.

  • 파일 작업 :

    • 선택적 줄 범위 지정을 사용하여 파일 내용 보기

    • 새 파일 만들기

    • 기존 파일의 텍스트 바꾸기

    • 특정 줄 번호에 텍스트 삽입

    • 이전 편집 취소

Related MCP server: MCP Text Editor Server

지원되는 Claude 텍스트 편집기 버전

이 패키지는 내장된 Claude 텍스트 편집기 도구 버전과 동등한 도구를 구현합니다.

  • text_editor_20241022 (클로드 3.5 소네트)

  • text_editor_20250124 (클로드 3.7 소네트)

하지만 내장된 Claude 도구와의 이름 충돌을 피하기 위해 도구 이름 'text_editor'를 사용합니다.

설치

지엑스피1

용법

서버 시작

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

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

Claude Desktop에서 구성

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

도구 명령

보다

파일이나 디렉토리의 내용을 봅니다.

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

만들다

지정된 내용으로 새 파일을 만듭니다.

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

문자열 바꾸기

파일의 텍스트를 바꿉니다.

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

끼워 넣다

특정 줄에 텍스트를 삽입합니다.

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

편집 취소

파일의 마지막 편집 내용을 되돌립니다.

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

개발

필수 조건

  • 노드.js 18+

  • pnpm

설정

# 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

스크립트

  • pnpm build : TypeScript 프로젝트 빌드

  • pnpm lint : 자동 수정으로 ESLint 실행

  • pnpm format : Prettier로 코드 포맷하기

  • pnpm clean : 빌드 아티팩트 제거

  • pnpm clean:all : 빌드 아티팩트 및 node_modules 제거

  • pnpm test : 테스트 실행

  • pnpm test:coverage : 커버리지 보고서와 함께 테스트 실행

테스트

이 프로젝트에서는 테스트를 위해 Vitest를 사용합니다.

테스트를 실행하려면:

# Run all tests
pnpm test

# Run tests with coverage report
pnpm test:coverage

테스트 커버리지 보고서는 coverage 디렉토리에 생성됩니다.

특허

MIT

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

  1. 저장소를 포크하세요

  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )

  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )

  4. 브랜치에 푸시( git push origin feature/amazing-feature )

  5. 풀 리퀘스트 열기

Available Tools

1 tool
text_editorB

View, create, and edit files with persistent state across command calls. This tool is identical with Claude's built in text editor tool called text_editor_20241022

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`, `undo_edit`.
descriptionYesThe reason you are using the text editor (max 80 chars)
file_textNoRequired parameter of `create` command, with the content of the file to be created.
insert_lineNoRequired parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`.
new_strNoOptional 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_strNoRequired parameter of `str_replace` command containing the string in `path` to replace.
pathYesAbsolute path to file or directory, e.g. `/repo/file.py` or `/repo`.
view_rangeNoOptional 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.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It mentions 'persistent state across command calls,' which is a useful behavioral trait not evident from the schema. However, it lacks details on permissions, error handling, file system interactions, or what 'persistent state' entails operationally. The description adds some value but leaves significant behavioral aspects unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first is front-loaded with core functionality, but the second sentence about being identical to another tool adds no value for tool selection and wastes space. It could be more concise by omitting the redundant second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, no annotations, no output schema), the description is somewhat incomplete. It covers basic purpose and a behavioral trait (persistent state), but lacks details on usage context, error cases, or output expectations. For a multi-command tool with no output schema, more guidance would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. According to the rules, with high schema coverage, the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'View, create, and edit files with persistent state across command calls.' It specifies the actions (view, create, edit) and resource (files), and mentions the persistent state feature. However, it doesn't distinguish from siblings since there are none, and the second sentence about being identical to another tool adds no functional clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions it's 'identical with Claude's built in text editor tool,' but this doesn't help an agent decide between this and other file manipulation tools. There are no explicit when/when-not scenarios or prerequisites described.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedtext_editor

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clear purpose for file editing with persistent state, making disambiguation trivial.

Naming Consistency5/5

A single tool named 'text_editor' follows a clear and consistent naming pattern. There are no other tools to compare against, so no inconsistency can exist.

Tool Count2/5

A single tool for a text editor server feels thin and under-scoped. While it covers basic file operations, typical text editors would benefit from additional tools for tasks like search/replace, formatting, or managing multiple files, making this count borderline inadequate.

Completeness2/5

The tool surface is severely incomplete for a text editor domain. It lacks essential operations such as search within files, undo/redo functionality, file management (e.g., rename, delete), or formatting options, which are core to text editing workflows.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers