Skip to main content
Glama
mirza1272

wordsmith-mcp

by mirza1272

Wordsmith MCP

MCP(모델 컨텍스트 프로토콜) 서버로, MCP 호환 AI 클라이언트에 오프라인 텍스트 분석 및 재작성 도구 세트를 제공합니다 — 통계, 추출적 요약, 키워드 추출, 가독성 점수, 명명 규칙 변환, 개체 추출 및 텍스트 diff.

API 키가 필요 없습니다. 네트워크 호출도 없습니다. 어디에도 상태를 저장하지 않습니다. 전달하는 텍스트에 대해 모든 것이 로컬에서 실행되므로 빠르고 무료이며 개인 문서에 안전하게 사용할 수 있습니다.

MCP Python SDK로 구축되었습니다.


왜 만들었는가

언어 모델은 텍스트를 판단하는 데는 뛰어나지만 측정하는 데는 놀라울 정도로 신뢰할 수 없습니다. 정확한 단어 수나 Flesch 점수를 요청하면 추측할 뿐입니다. Wordsmith는 이러한 작업을 위한 결정적 계산기를 모델에 제공하므로 문서의 길이, 난이도, 핵심 용어에 대한 답변이 추정이 아닌 계산으로 얻어집니다.


Related MCP server: armavita-originality-ai-mcp

도구

Tool

What it does

Key parameters

text_stats

문자, 단어, 고유 단어, 문장, 문단, 줄, 평균 단어/문장 길이, 예상 읽기 시간

text

summarize_text

추출적 요약 — 내용어 빈도로 문장에 점수를 매기고 원래 순서대로 가장 좋은 문장을 반환

text, max_sentences (1–20, 기본 3)

extract_keywords

가장 빈번한 내용어와 그 횟수 및 상대 빈도; 불용어 필터링

text, limit (1–50, 기본 10), min_length

readability

Flesch Reading Ease + Flesch–Kincaid 학년 수준, 쉬운 언어 해석 포함

text

convert_case

snake, kebab, slug, camel, pascal, constant, title, sentence, upper, lower로 변환

text, style

extract_entities

이메일, URL, 해시태그, 멘션, 전화번호 및 독립적인 숫자 추출

text

diff_texts

초안과 수정본 간의 통합 줄 단위 diff

before, after, context_lines

모든 도구는 readOnlyHint: true, openWorldHint: false로 주석 처리되어 있습니다. 어떤 것도 변경하지 않으며 인터넷에 접근하지 않습니다.


git clone https://github.com/mirza1272/wordsmith-mcp.git
cd wordsmith-mcp
python3 -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -e .

실행:

wordsmith-mcp

서버는 stdio를 통해 MCP를 사용하며 클라이언트를 기다리며 대기합니다. 이는 정상적인 동작이지 멈춤이 아닙니다. 클라이언트가 직접 서버를 시작합니다. 아래를 참조하세요.

작동 확인

python scripts/smoke_test.py

실제 MCP 클라이언트처럼 서버를 시작하고, 도구 목록을 출력한 다음 모든 도구를 호출하여 결과를 출력합니다.

단위 테스트 실행

pip install -e ".[dev]"
pytest -q

클라이언트에 연결하기

Claude Desktop

claude_desktop_config.json을 편집하세요:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "wordsmith": {
      "command": "/absolute/path/to/wordsmith-mcp/.venv/bin/wordsmith-mcp"
    }
  }
}

Claude Desktop을 다시 시작한 다음, "이 문단의 가독성은 어떻고 상위 5개 키워드는 무엇인가요?" 같은 질문을 해보세요.

Claude Code

claude mcp add wordsmith -- /absolute/path/to/wordsmith-mcp/.venv/bin/wordsmith-mcp

Cursor / Windsurf / 기타 클라이언트

mcpServers 블록을 지원하는 모든 클라이언트는 위의 Claude Desktop 예제와 동일한 형식을 사용합니다.

MCP Inspector(시각적 디버깅)

npx @modelcontextprotocol/inspector .venv/bin/wordsmith-mcp

각 도구를 직접 호출하고 원시 JSON-RPC 트래픽을 검사할 수 있는 브라우저 UI를 엽니다.


HTTP 모드(호스팅 배포용)

동일한 서버가 스트리밍 HTTP도 지원하며, 호스팅 마켓플레이스에서 사용하는 방식입니다:

TRANSPORT=http PORT=8081 wordsmith-mcp

그러면 MCP 엔드포인트는 http://localhost:8081/mcp에 위치합니다.

Env var

Default

Meaning

TRANSPORT

stdio

로컬 클라이언트는 stdio, 호스팅 환경은 http

HOST

0.0.0.0

HTTP 모드에서 바인딩 주소

PORT

8081

HTTP 모드에서 바인딩 포트

MCP_PATH

/mcp

MCP 엔드포인트가 제공되는 HTTP 경로


배포

Smithery의 게시 양식은 라이브 HTTPS MCP 엔드포인트를 요구하므로, 서버를 먼저 호스팅한 후 등록합니다. 이를 위해 Dockerfilerender.yaml이 포함되어 있으며, smithery.yaml은 컨테이너를 직적 빌드하는 호스트를 위해 유지됩니다.

전체 안내: DEPLOOY.md.

요약하면: 컨테이너를 호스트(Render, Railwway, Fly..io — render.yaml 포함)에 배포한 다음, 생된 https://<host>/mcp URLL을 Smiithery에 게시하면 됩니다.

컨테이너를 먼저 로컬에서 빌드하는 것이 좋은 확인 방법입니다:

docker build -t wordsmith-mcp .
docker run --rm -p 8081:8081 wordsmith-mcp

프젝트 구죠

wordsmith-mcp/
├── src/wordsmith_mcp/
│   ├── __init__.py        # package exports
│   ├── __main__.py        # python -m wordsmith_mcp
│   ├── server.py          # MCP server: tool definitions and schemas
│   └── textutils.py       # pure text logic, no MCP imports
├── scripts/smoke_test.py  # end-to-end client that exercises every tool
├── tests/test_textutils.py
├── examples/claude_desktop_config.json
├── Dockerfile
├── smithery.yaml
├── pyproject.toml
└── README.md

texxtuutils.py는 알골리즘을 담고 있으며 MCP에서 아무것도 import하지 않으므로 로직을 단독으로 단위 테스트할 수 있습니다. server.py는 이러한 함수를 모델에 설명하는 얇은 프토토콜 계층입니다.


작동 방시(MCP 60초 둘러보기)

MCP는 AI 클라이언트가 서버에서 노출하는 도구를 발견하고 호출할 수 있게 해주는 JSON-RPC 프로토콜입니다.

  1. 클라이언트가 서버를 시작합니다(stdio를 통한 하위 프세스 또는 HTTP를 통한 연결).

  2. 클라이언트와 서버가 프로토콜 버젼과 기능을 알리는 initialize 핸드셰이크를 교환합니다.

  3. 클라이언트가 tools/list를 호출합니다. SDK는 Python 타입 힌트와 Field(...) 설명에서 각 도구의 JSON Schema를 생성하므로 모델은 어떤 인수가 유효한지 정확히 볼 수 있습니다.

  4. 모델이 도구가 필요하다고 판단하면 클라이언트는 인수와 함께 tools/call을 보내고, 서버는 Python 함수를 실행하여 결과를 반환합니다. 결과는 사람이 읽을 수 있는 텍스트와 선언된 출력 스키마에 맞는 structuredContent로 모두 제공됩니다.

따라서 도구를 추가하는 것은 타입이 지정된 Python 함수를 작성하고 @mcp.tool(...) 데코레이터를 붙이는 것뿐입니다.


이 저장소의 추가 자료

  • WRITEUP.md — 기존 MCP 서버(Contexxt7) 사용에 대한 저의 글과 이 서버를 만들면서 배운 내용.

  • DEPLOY.md — 이 서버를 Smiithery와 Glama에 게시하기 위한 단계별 가이드.


라이선스

MIT — LICENSE 참조.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.

  • Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mirza1272/wordsmith-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server