MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

M
MCP Character Tools

MCP server by Aaryan-Kapoor

创建于 12/13/2025
更新于 2 days ago
Repository documentation and setup instructions

MCP Character Tools

NPM Version TypeScript MCP License

The last thing you need for your LLM to work with individual characters or count the number of r's in a word. This is an MCP server providing 14+ comprehensive (and pretty) character and text analysis tools to help LLMs work with individual characters - something they struggle with due to tokenization.

See the Difference

| Without MCP (Wrong) | With MCP (Correct) | |:----------------------:|:---------------------:| | Without MCP - incorrectly claims 2 r's in garlic | With MCP - correctly identifies 1 r in garlic | | Claims there are 2 r's in "garlic" | Correctly identifies 1 r in "garlic" |

Yes, your agent will be able to tell how many r's are in Strawberry/Garlic :)

Why This Exists

First of all, why not? Second, Large Language Models tokenize text into subwords, not individual characters. For example, "strawberry" might become tokens like ["straw", "berry"], so the model never truly "sees" individual letters. This MCP server gives LLMs "character-level vision" through a suite of tools.

Installation

Via npx (recommended)

npx mcp-character-tools

Via npm (global install)

npm install -g mcp-character-tools
mcp-character-tools

From source

git clone https://github.com/Aaryan-Kapoor/mcp-character-tools
cd mcp-character-tools
npm install
npm run build
npm start

Usage with Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "char-tools": {
      "command": "npx",
      "args": ["mcp-character-tools"]
    }
  }
}

All Tools Reference

See sample_outputs.md for complete examples with inputs and outputs for all 14+ tools.

| Tool | Description | |------|-------------| | count_letter | Count a specific letter | | count_letters | Count multiple letters at once | | count_substring | Count substring occurrences | | letter_frequency | Get frequency distribution | | spell_word | Break into characters | | char_at | Get character at index | | nth_character | Get nth character (1-based) | | word_length | Get exact length | | reverse_text | Reverse text, detect palindromes | | compare_texts | Compare two texts | | analyze_sentence | Word-by-word breakdown | | batch_count | Count across multiple words | | get_tricky_words | List commonly miscounted words | | check_tricky_word | Check if word is tricky |

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Development mode with auto-rebuild
npm run dev

Testing

The project includes comprehensive tests for all tools:

npm test

Test files:

  • tests/counting.test.ts - Counting tools tests
  • tests/spelling.test.ts - Spelling tools tests
  • tests/analysis.test.ts - Analysis tools tests
  • tests/tricky-words.test.ts - Tricky words resource tests
  • tests/visualization.test.ts - Visualization utility tests

License

MIT

快速设置
此服务器的安装指南

安装包 (如果需要)

npx @modelcontextprotocol/server-mcp-character-tools

Cursor 配置 (mcp.json)

{ "mcpServers": { "aaryan-kapoor-mcp-character-tools": { "command": "npx", "args": [ "aaryan-kapoor-mcp-character-tools" ] } } }