Chronos MCP Server
Сервер Chronos MCP 🔵
Chronos — это сервер Model Context Protocol (MCP), адаптированный для блокчейна Stellar и разработанный специально для интеграции с Claude Desktop и аналогичными приложениями ИИ. Chronos предоставляет вашему помощнику ИИ инструменты на цепочке, позволяющие оптимизировать взаимодействие с сетью Stellar.
Обзор
Chronos MCP предоставляет следующие возможности:
Подключитесь к кошелькам Stellar: безопасно подключитесь к своему кошельку с помощью секретного ключа.
Список токенов кошелька: извлечение и вывод списка всех токенов, хранящихся в кошельке Stellar.
Запрос балансов: получайте балансы XLM и других активов в режиме реального времени.
Перевод средств: легко инициируйте переводы между кошельками Stellar.
Chronos создан с возможностью расширения и работает как стандартный пакет Node.js, что позволяет легко развертывать, устанавливать и интегрировать его — аналогично другим серверам MCP, таким как base-mcp.
Related MCP server: AMOCA Solana MCP Server
Функции
Интеграция со Stellar: полное взаимодействие с основной сетью Stellar через API Horizon.
Простое развертывание: опубликуйте и установите Chronos с помощью npm.
Совместимость с Claude Desktop: легкая интеграция с Claude Desktop путем обновления конфигурации сервера MCP.
Расширяемая архитектура: разработана для будущих улучшений и интеграции новых инструментов.
Предпосылки
Node.js (v14 или выше)
нпм
Учетные данные кошелька Stellar (секретный ключ для подключения)
Подключение к Интернету для взаимодействия с сетью Stellar
Установка
Вариант 1: Установка из npm (рекомендуется)
Установите Chronos глобально:
npm install -g chronos-mcpИли используйте его напрямую с npx:
npx chronos-mcp@latestВариант 2: Установка из исходного кода
Клонируйте репозиторий:
git clone https://github.com/yourusername/chronos-mcp.git cd chronos-mcpУстановить зависимости:
npm installСоздайте проект:
npm run build(Необязательно) Глобальная ссылка для более легкого доступа:
npm link
Вариант 3: Использование Docker
Вы также можете запустить Chronos MCP с помощью Docker:
Создайте образ Docker:
docker build -t chronos-mcp .Запустите контейнер:
docker run -it --rm chronos-mcp
Более подробные инструкции по использованию Docker с Chronos MCP, включая настройку Docker Compose и интеграцию с Claude Desktop, см. в Руководстве по использованию Docker .
Чтобы проверить, работает ли ваша настройка Docker локально, следуйте пошаговым инструкциям в Руководстве по тестированию Docker . Это руководство содержит инструкции по созданию образа Docker, запуску контейнера и тестированию его функциональности.
Конфигурация
Переменные среды
Chronos MCP использует переменные окружения для конфигурации, особенно для конфиденциальной информации, такой как ваш секретный ключ Stellar. Проект использует dotenv для загрузки переменных окружения из файла .env во время разработки.
Чтобы настроить переменные среды:
Создайте файл
.envв корне проекта:STELLAR_SECRET_KEY=your_stellar_secret_key STELLAR_NETWORK=mainnetЭти переменные будут автоматически загружены при запуске приложения.
При использовании Docker вы можете предоставить переменные среды несколькими способами:
Использование флага
--env-file:docker run -it --rm --env-file .env chronos-mcpИспользование директивы
env_fileв docker-compose.ymlУстановка отдельных переменных с помощью флага
-e:docker run -it --rm -e STELLAR_SECRET_KEY=your_key chronos-mcp
Конфигурация рабочего стола Клода
Чтобы использовать Chronos с Claude Desktop, обновите файл конфигурации Claude Desktop, расположенный по адресу:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Пример конфигурации для Claude Desktop:
{
<<<<<<< HEAD
"mcpServers": {
"stellar": {
"command": "npx",
"args": ["chronos-mcp@latest"],
"env": {
"STELLAR_NETWORK": "mainnet",
"STELLAR_SECRET_KEY": "your_stellar_secret_key"
},
"disabled": false,
"autoApprove": []
}
}
}Для интеграции Docker с Claude Desktop вы можете использовать:
{
"mcpServers": {
"stellar": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", "/path/to/your/.env", "chronos-mcp"],
"env": {
"STELLAR_NETWORK": "mainnet"
},
"disabled": false,
"autoApprove": []
=======
"mcpServers": {
"stellar": {
"command": "npx",
"args": [
"chronos-mcp@latest"
],
"env": {
"STELLAR_NETWORK": "mainnet",
"STELLAR_SECRET_KEY": "XXXX"
},
"disabled": false,
"autoApprove": []
}
>>>>>>> b2501026b3b5ef4c512fceaf340f53b5102a57f9
}
}Использование
Chronos MCP предоставляет следующие инструменты через свой интерфейс MCP:
подключить_кошелек
Подключается к кошельку Stellar с помощью секретного ключа.
Пример команды:
«Подключить мой кошелек, используя секретный ключ ______»
список_токенов
Перечисляет все токены и активы в указанном кошельке Stellar.
Пример команды:
«Перечислить токены моего кошелька»
получить_балансы
Возвращает баланс XLM и любых других активов.
Пример команды:
«Какой у меня текущий баланс XLM?»
перевод_средств
Переводит средства из вашего кошелька в другой кошелек Stellar.
Параметры:
secretKey: Секретный ключ вашего кошелька.destinationAddress: адрес кошелька получателя.amount: сумма для перевода.asset(необязательно) : актив для передачи (по умолчанию XLM).
Пример команды:
«Перевести 0,5 XLM на [адрес кошелька назначения]»
Тестирование
Стандартное тестирование
Для локального тестирования Chronos MCP:
npm testЭто запустит тестовый набор проекта и проверит, что ваш сервер работает так, как и ожидалось.
Тестирование Докера
Чтобы протестировать настройку Docker локально, обратитесь к Руководству по тестированию Docker для получения подробных инструкций. Руководство охватывает:
Создание образа Docker
Запуск контейнера с помощью Docker Compose
Тестирование функциональности контейнера
Устранение распространенных проблем
Вы также можете использовать прилагаемый скрипт test-client.js для тестирования контейнера Docker:
node test-client.jsЭтот скрипт отправляет простой MCP-запрос в контейнер Docker и отображает ответ.
Развертывание
Chronos MCP разработан для работы в качестве стандартного пакета Node.js и может быть опубликован в npm. После публикации (например, через npm publish ) Chronos может быть установлен глобально или использоваться через npx, как и любой другой сервер MCP.
Для развертывания в производственной среде рассмотрите возможность включения Chronos в системную службу (используя systemd, launchd и т. д.) для автоматического перезапуска и мониторинга.
Расширение Хроноса
Chronos создан с учетом расширяемости. Чтобы добавить новые инструменты:
Создайте новый каталог в папке
src/tools.Реализуйте свой инструмент (включите
index.ts,schemas.tsиhandlers.ts).Экспортируйте свой инструмент в
src/tools/index.ts.Обновите файл README, добавив в него документацию и примеры вашего инструмента.
Напишите тесты, чтобы убедиться, что ваш новый инструмент работает правильно.
Лицензия
Данный проект лицензирован в соответствии с лицензией MIT .
Внося вклад
Вклады приветствуются! Пожалуйста, посетите CONTRIBUTING.md для получения инструкций по сообщению проблем, отправке запросов на включение и других инструкций по вкладу.
──────────────────────────────────── Этот файл README разработан специально для Chronos MCP и описывает его развертывание в виде пакета Node.js, интеграцию с Claude Desktop и полный набор функций для взаимодействия с блокчейном Stellar.
Available Tools
4 toolsconnect_walletC
Connect to a Stellar wallet using secret key
| Name | Required | Description | Default |
|---|---|---|---|
| secretKey | Yes | Stellar wallet secret key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool connects using a secret key but doesn't describe what happens after connection (e.g., session persistence, error handling, or security implications like key storage). For a tool handling sensitive authentication with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It is front-loaded with the core action and resource, making it easy to parse. Every word earns its place by specifying the tool's purpose clearly without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of wallet connection (involving authentication and potential security concerns), no annotations, no output schema, and a single parameter, the description is incomplete. It doesn't explain what the tool returns (e.g., success status, wallet details) or behavioral aspects like error cases, leaving gaps for an AI agent to understand the tool fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'secretKey' documented as 'Stellar wallet secret key'. The description adds no additional meaning beyond this, as it only repeats that connection uses a secret key. Baseline 3 is appropriate since the schema does the heavy lifting, but the description doesn't compensate or enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Connect to') and target resource ('a Stellar wallet'), specifying it uses a secret key. It distinguishes from sibling tools like get_balances or transfer_funds by focusing on authentication rather than querying or transactions. However, it doesn't explicitly differentiate from potential other connection methods (e.g., via public key or mnemonic), keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a secret key), when not to use it (e.g., if already connected), or how it relates to sibling tools like get_balances. The description implies usage for wallet connection but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balancesC
Get balances for all tokens in a Stellar wallet
| Name | Required | Description | Default |
|---|---|---|---|
| publicKey | Yes | Stellar wallet public key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool's function but lacks critical details: it doesn't specify if this is a read-only operation (implied but not explicit), potential rate limits, authentication needs, error conditions, or what the output format looks like (e.g., JSON structure). This leaves significant gaps for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get balances for all tokens in a Stellar wallet'). There is no wasted verbiage or redundancy, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool that interacts with financial data. It doesn't explain return values (e.g., balance amounts, token details), error handling, or dependencies on other tools like 'connect_wallet'. For a tool with no structured output documentation, this leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'publicKey' clearly documented in the schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., format examples, validation rules, or context about the wallet). This meets the baseline for high schema coverage but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get balances') and resource ('all tokens in a Stellar wallet'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_tokens' (which might list available tokens vs. getting balances), leaving room for potential confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 doesn't mention prerequisites (e.g., needing a connected wallet via 'connect_wallet'), exclusions, or comparisons to siblings like 'list_tokens' or 'transfer_funds', leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tokensC
List all tokens in a Stellar wallet
| Name | Required | Description | Default |
|---|---|---|---|
| publicKey | Yes | Stellar wallet public key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It doesn't disclose whether this is a read-only operation, requires authentication, has rate limits, or what the output format might be. While 'List' suggests a safe read, the lack of details on permissions or response structure is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place by directly stating the tool's function, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for effective tool use. It doesn't explain what 'tokens' entail (e.g., types, formats), authentication needs, or response behavior. For a tool with one parameter but no structured safety or output info, more context is needed to guide the agent adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'publicKey' fully documented in the schema. The description adds no additional meaning beyond implying it's for a Stellar wallet, which is already clear from the schema. This meets the baseline of 3, as the schema handles the heavy lifting without extra value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('tokens in a Stellar wallet'), making the purpose immediately understandable. It distinguishes from siblings like 'get_balances' by focusing specifically on tokens rather than general balances. However, it doesn't specify whether this includes all token types or just specific ones, keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives like 'get_balances' or 'connect_wallet'. The description implies usage for token listing but doesn't mention prerequisites (e.g., needing a connected wallet) or exclusions. This leaves the agent to infer context without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_fundsC
Transfer funds to another Stellar wallet
| Name | Required | Description | Default |
|---|---|---|---|
| secretKey | Yes | Source wallet secret key | |
| destinationAddress | Yes | Destination wallet public key | |
| amount | Yes | Amount to transfer | |
| asset | No | Asset to transfer (defaults to XLM) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs a fund transfer but fails to mention critical aspects such as whether this is a destructive/mutative operation, authentication requirements (implied by 'secretKey' but not explicitly stated), potential rate limits, transaction fees, or error handling. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that efficiently conveys the core purpose without any unnecessary words or fluff. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a financial transaction tool with no annotations and no output schema, the description is insufficient. It lacks details on return values, error conditions, security implications, or operational constraints, making it incomplete for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the input schema already documents all parameters thoroughly (e.g., 'secretKey' as source wallet secret key, 'destinationAddress' as destination public key). The description adds no additional semantic context beyond what's in the schema, such as format details or examples, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('transfer funds') and target resource ('to another Stellar wallet'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'connect_wallet' or 'get_balances', which are distinct operations, so it doesn't reach the highest score for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 or any contextual prerequisites. It lacks explicit instructions on usage scenarios, exclusions, or comparisons with sibling tools like 'list_tokens', leaving the agent to infer usage based on the tool name alone.
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.
4 tool updates
- First observed
connect_wallet - First observed
get_balances - First observed
list_tokens - First observed
transfer_funds
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: connect_wallet handles authentication, get_balances retrieves token balances, list_tokens enumerates available tokens, and transfer_funds performs transactions. There is no overlap or ambiguity between these functions.
All tools follow a consistent verb_noun pattern (connect_wallet, get_balances, list_tokens, transfer_funds) with clear, descriptive names. The naming convention is uniform and predictable throughout the set.
Four tools are reasonable for a Stellar wallet server, covering core operations like connection, balance checking, token listing, and transfers. However, the scope feels slightly thin as it lacks tools for advanced wallet management (e.g., transaction history, account details).
The tools cover essential wallet operations: authentication, balance retrieval, token listing, and fund transfers. Minor gaps exist, such as no tools for viewing transaction history or managing wallet settings, but agents can perform basic workflows without significant dead ends.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The OpenZeppelin Stellar Contracts MCP server generates secure smart contracts for the Stellar blockchain based on OpenZeppelin templates. It integrates with AI assistants to automatically enforce OpenZeppelin's security best practices, style rules, and standards at every prompt, enabling developers to create production-ready Fungible Token, Non-Fungible Token, and Stablecoin contracts through AI-driven workflows.
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables Claude AI to interact with the Solana blockchain through a standardized interface, providing tools for transactions, account queries, and wallet management.37 npm164Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models to interact with the Solana blockchain, providing RPC methods, wallet management, DeFi trading capabilities, and Helius API integration for enhanced Solana development.5MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.1-
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that provides onchain tools for Claude AI, allowing it to interact with the Solana blockchain through a standardized interface for operations like managing assets, executing token operations, and retrieving network information.7-