agent-hanju/char-index-mcp

agent-hanju/char-index-mcp

от agent-hanju
MCP сервер для манипуляции строками по символьным индексам. Помогает LLM точно выделять, вставлять или удалять текст на заданных позициях. Идеален для генерации тестового кода и разбора ответов. Включает 12 инструментов - поиск, замена, извлечение подстрок.

char-index-mcp (Archived)

This repository is archived. This project has moved to char-index-skill, now available as a Claude Code Skill plugin with continued MCP server support.

Future updates to both the Skill and the MCP server (char-index-mcp) will be published from the new repository.


A Model Context Protocol (MCP) server providing character-level index-based string manipulation. Perfect for test code generation where precise character positioning matters.

smithery badge License: MIT PyPI Python

🎯 Why This Exists

LLMs generate text token-by-token and struggle with exact character counting. When generating test code with specific length requirements or validating string positions, you need precise index-based tools. This MCP server solves that problem.

✨ Features (12 Tools)

🔍 Character & Substring Finding (4 tools)

  • find_nth_char - Find nth occurrence of a character
  • find_all_char_indices - Find all indices of a character
  • find_nth_substring - Find nth occurrence of a substring
  • find_all_substring_indices - Find all occurrences of a substring
count_chars

Подсчитывает статистику по символам. Возвращает словарь с ключами total, without_spaces, letters, digits, spaces, special.

Подсчитывает статистику по символам. Возвращает словарь с ключами total, without_spaces, letters, digits, spaces, special.

Параметры

  • textstringобязательный
delete_range

Удаляет символы в диапазоне [start, end).

Удаляет символы в диапазоне [start, end).

Параметры

  • textstringобязательный
  • startintegerобязательный
  • endintegerобязательный
extract_between_markers

Извлекает содержимое между маркерами с указанием позиций. Возвращает словарь с содержимым и информацией о позициях.

Извлекает содержимое между маркерами с указанием позиций. Возвращает словарь с содержимым и информацией о позициях.

Параметры

  • textstringобязательный
  • start_markerstringобязательный
  • end_markerstringобязательный
  • occurrenceinteger
extract_substrings

Извлекает подстроки по диапазонам индексов. Поддерживает отрицательные индексы и опускание конца.

Извлекает подстроки по диапазонам индексов. Поддерживает отрицательные индексы и опускание конца.

Параметры

  • textstringобязательный
  • rangesobject[]обязательный
find_all_char_indices

Находит все индексы, в которых встречается символ. Возвращает пустой список, если не найдено.

Находит все индексы, в которых встречается символ. Возвращает пустой список, если не найдено.

Параметры

  • textstringобязательный
  • charstringобязательный
find_all_substring_indices

Находит все начальные индексы вхождения подстроки (включая перекрытия).

Находит все начальные индексы вхождения подстроки (включая перекрытия).

Параметры

  • textstringобязательный
  • substringstringобязательный
find_nth_char

Находит индекс n-го вхождения символа. Возвращает -1, если символ не найден.

Находит индекс n-го вхождения символа. Возвращает -1, если символ не найден.

Параметры

  • textstringобязательный
  • charstringобязательный
  • ninteger
find_nth_substring

Находит начальный индекс n-го вхождения подстроки. Возвращает -1, если вхождение не найдено.

Находит начальный индекс n-го вхождения подстроки. Возвращает -1, если вхождение не найдено.

Параметры

  • textstringобязательный
  • substringstringобязательный
  • ninteger
insert_at_index

Вставляет текст по указанному индексу без замены. Поддерживает отрицательные индексы.

Вставляет текст по указанному индексу без замены. Поддерживает отрицательные индексы.

Параметры

  • textstringобязательный
  • indexintegerобязательный
  • insertionstringобязательный
replace_range

Заменяет символы в диапазоне [start, end) на новый текст.

Заменяет символы в диапазоне [start, end) на новый текст.

Параметры

  • textstringобязательный
  • startintegerобязательный
  • endintegerобязательный
  • replacementstringобязательный
split_at_indices

Разбивает текст по точным позициям индексов. Индексы автоматически сортируются, дубликаты удаляются.

Разбивает текст по точным позициям индексов. Индексы автоматически сортируются, дубликаты удаляются.

Параметры

  • textstringобязательный
  • indicesinteger[]обязательный

Другие проверенные MCP-сервера

GreptimeTeam/greptimedb-mcp-server

GreptimeTeam/greptimedb-mcp-server

официальный

GreptimeDB MCP-сервер для AI-ассистентов - выполняет SQL, TQL и RANGE-запросы к open-source базе наблюдаемости, объединяющей метрики, логи и трейсы. Встроенная безопасность: read-only, маскировка д...

Python28
upsonic/gpt-computer-assistant

upsonic/gpt-computer-assistant

Upsonic — Python-фреймворк для построения автономных AI-агентов и традиционных агентных систем. Поддерживает готовых агентов, кастомные инструменты и интеграцию MCP инструментов для подключения к тысячам внешних сервисов. Полезен разработчикам, создающим умных ассистентов с возможностью изоляции ...

Python7914
wso2/fhir-mcp-server

wso2/fhir-mcp-server

официальный

MCP сервер для FHIR API. Интегрирует AI-инструменты с медицинскими данными: поиск, чтение и запись ресурсов. Поддерживает SMART-on-FHIR аутентификацию и FHIRPath-фильтрацию. Для разработчиков и инт...

Python129
stack-chan/stack-chan

stack-chan/stack-chan

Stack-chan - это JavaScript-управляемый робот на базе M5Stack с супер-кавайным лицом. Управляйте эмоциями, взглядом, речью и сервоприводами. Идеален для DIY и образовательных проектов.

TypeScript1597
oraios/serena

oraios/serena

Serena — MCP-сервер для AI-агентов, который даёт семантический поиск, рефакторинг и отладку кода на уровне IDE. Работает с символьными операциями, ускоряет агентов в больших проектах.

Python26578
XGenerationLab/xiyan_mcp_server

XGenerationLab/xiyan_mcp_server

официальный

MCP-сервер для запросов к базам данных на естественном языке. Основан на XiYan-SQL - SOTA модели text-to-SQL. Поддерживает MySQL, PostgreSQL, общие LLM и локальный режим. Упрощает извлечение данных...

Python240
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин