Подключите Claude и ChatGPT к актуальным ценам на золото через MCP
Подключите Claude, ChatGPT, Cursor и VS Code к ценам на золото и металлы через MCP-сервер MetalAPI: OAuth или ключ API, инструменты, безопасность и квоты.
Зачем ассистенту инструмент для цен
Спросите чат-ассистента без инструментов о сегодняшней цене золота, и вы получите один из трёх ответов: отказ, число из обучающих данных или догадку, высказанную с неоправданной уверенностью. Ни один из них не полезен. Языковая модель учится на срезе текстов, который заканчивается за несколько месяцев до вашего разговора, а цены на золото, серебро и нефть меняются каждые несколько секунд, пока открыты рынки.
Обычный обходной путь — найти цену самому и вставить её в чат. Для одного вопроса это работает, а дальше начинаются проблемы. Нужно помнить, какую единицу вы скопировали (тройскую унцию или грамм?), в какой валюте и когда было получено число. Задайте уточняющий вопрос о диапазоне цен за прошлый месяц или о пересчёте в турецкие лиры — и вы снова в браузере.
Model Context Protocol (MCP) убирает этот шаг. Ассистент получает небольшой набор инструментов, которые может вызывать сам, и каждый ответ строится на свежем ответе API с собственной меткой времени, базовой валютой и единицей измерения. В этой статье показано, как подключить Claude, ChatGPT, Claude Code, Cursor и VS Code к MCP-серверу MetalAPI, что ассистент умеет после подключения и какие действуют меры защиты.
| Аспект | Ввод чисел вручную | Вызов инструмента MCP |
|---|---|---|
| Свежесть | То, что вы скопировали, и тогда, когда скопировали | Самая свежая цена, доступная на вашем тарифе, полученная в момент вопроса |
| Единицы и валюта | Легко перепутать тройские унции, граммы и валюты | Явные аргументы base и unit, которые повторяются в ответе |
| Метка времени | Обычно теряется по дороге | Каждый ответ содержит timestamp и date |
| Уточняющие вопросы | Ещё один поиск вручную | Ассистент вызывает другой инструмент |
| История и конвертация | Отдельный сайт или электронная таблица | Инструменты для временных рядов, OHLC, изменений и конвертации |
Что такое MCP
MCP — открытый протокол, который Anthropic представила в 2024 году и который сейчас поддерживают многие ИИ-приложения. Он стандартизирует то, как ассистент взаимодействует с внешними инструментами и данными. MCP-сервер публикует список инструментов. У каждого инструмента есть имя, описание обычным языком, JSON-схема аргументов и необязательные аннотации, например «только чтение». MCP-клиент (Claude, ChatGPT, Cursor, VS Code и другие) читает этот список, позволяет модели решать, когда инструмент уместен, отправляет вызов на сервер и передаёт результат обратно модели.
Сама модель никогда не видит ваших учётных данных и не обращается к API напрямую. Она формирует структурированный запрос вида «вызови get_latest_prices с symbols: XAU и base: EUR», клиент его выполняет, а модель пишет ответ на основе вернувшегося JSON.
Сервер MetalAPI находится по адресу https://metalapi.com/mcp. Он работает по Streamable HTTP — удалённому транспорту из спецификации MCP — и не хранит состояние: каждый вызов — это независимый HTTPS-запрос с ответом в JSON, поэтому поддерживать долгоживущую сессию не нужно. Сервер опубликован в официальном MCP Registry как com.metalapi/metalapi. Если открыть этот URL в браузере, вы попадёте на обзорную страницу ИИ и MCP.
Вход через OAuth или ключ API
Каждый вызов сервера аутентифицируется. Есть два способа, и подходящий зависит от клиента:
- OAuth 2.1 (вход в аккаунт) для приложений с экраном коннекторов, таких как Claude и ChatGPT. Клиент сам находит сервер авторизации: вызов без аутентификации получает ответ
401с заголовкомWWW-Authenticate, который указывает на метаданные защищённого ресурса. Затем клиент регистрируется через динамическую регистрацию клиентов и открывает страницу входа MetalAPI. Используется PKCE, поэтому встраивать в приложение секрет клиента не нужно. Вы входите в аккаунт (или создаёте бесплатный) и подтверждаете подключение. - Ключ API для инструментов разработчика, которые позволяют задавать HTTP-заголовки, таких как Claude Code, Cursor и VS Code. Вы передаёте тот же ключ, что и для REST API, в виде
Authorization: Bearer mk_live_….
Оба способа ведут к одному и тому же аккаунту, тарифу и квоте. Разница есть только в списке инструментов: create_api_key доступен лишь при подключении через OAuth. Ключ, скопированный в файл конфигурации, не должен иметь возможности выпускать новые ключи, поэтому при подключении по ключу видно двенадцать инструментов вместо тринадцати.
Подключения через OAuth перечислены в личном кабинете в разделе Settings → Connected apps, где любое из них можно отключить. Ключи API можно перевыпустить или отозвать в разделе API keys. Относитесь к ключу в файле конфигурации MCP точно так же, как к ключу в исходном коде.
Подключение Claude и ChatGPT
Для Claude на claude.ai и в Claude Desktop:
- Откройте Settings → Connectors и выберите Add custom connector.
- Назовите его MetalAPI и укажите
https://metalapi.com/mcp. - Нажмите Connect, войдите в MetalAPI (или создайте бесплатный аккаунт) и нажмите Allow.
Для ChatGPT откройте Settings → Apps & Connectors и создайте коннектор в режиме разработчика с URL https://metalapi.com/mcp и аутентификацией OAuth. ChatGPT откроет страницу входа MetalAPI; подтвердите подключение, и инструменты станут доступны в ваших чатах. Возможность добавлять собственные коннекторы зависит от вашего тарифа ChatGPT, а в рабочем пространстве — от того, что разрешает администратор.
Названия пунктов меню в обоих приложениях время от времени меняются. В руководстве по настройке MCP всегда приведены актуальные шаги для каждого клиента.
В первом разговоре полезно назвать источник («По данным MetalAPI, сколько…»), чтобы ассистент обратился к инструменту, а не к своей памяти. После этого большинство ассистентов сами выбирают инструмент, когда вопрос касается цены.
Подключение Claude Code, Cursor и VS Code
Ассистенты для программирования обычно работают с ключом API. Создайте ключ в личном кабинете (для начала хватит тарифа Free) и используйте отдельный ключ для каждого инструмента, чтобы можно было отозвать один, не затрагивая остальные.
В Claude Code добавьте сервер из терминала:
claude mcp add --transport http metalapi https://metalapi.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"Если не хотите хранить ключ, добавьте сервер без --header и выполните /mcp в Claude Code, чтобы войти через OAuth.
В Cursor добавьте сервер в ~/.cursor/mcp.json или в .cursor/mcp.json внутри проекта:
{
"mcpServers": {
"metalapi": {
"url": "https://metalapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}В VS Code с GitHub Copilot сохраните следующий код как .vscode/mcp.json. Благодаря блоку inputs VS Code один раз запросит ключ и надёжно его сохранит, так что сам ключ никогда не попадает в файл:
{
"inputs": [
{ "type": "promptString", "id": "metalapi-key", "description": "MetalAPI API key", "password": true }
],
"servers": {
"metalapi": {
"type": "http",
"url": "https://metalapi.com/mcp",
"headers": { "Authorization": "Bearer ${input:metalapi-key}" }
}
}
}Другие клиенты с поддержкой удалённых MCP-серверов по Streamable HTTP, например Windsurf, настраиваются так же: URL сервера плюс либо заголовок с bearer-токеном, либо вход через OAuth.
Как выглядит разговор
После подключения вы спрашиваете обычным языком, а ассистент выбирает инструмент и его аргументы. Несколько типичных запросов и вызовы, к которым они приводят:
| Вы спрашиваете | Инструмент | Аргументы |
|---|---|---|
| Сколько сейчас стоит грамм золота в евро? | get_latest_prices | symbols: XAU, base: EUR, unit: gram |
| Как менялась цена серебра за последние две недели? | get_timeseries или get_fluctuation | symbols: XAG, start_date, end_date |
| Пересчитай 2,5 тройской унции платины в турецкие лиры. | convert | from: XPT, to: TRY, amount: 2.5 |
| Какими сегодня были цена открытия, максимум, минимум и цена закрытия золота? | get_ohlc | symbols: XAU |
| Сколько стоит грамм золота 18K в фунтах? | get_carat_prices | base: GBP (платные тарифы) |
| На каком я тарифе и сколько осталось квоты? | get_account | Нет |
Ценовые инструменты возвращают компактный JSON. Блок rates в REST API перечисляет каждый символ дважды — как цену и как обратную величину — для совместимости со старыми интеграциями. MCP-сервер оставляет только цены по символам в поле prices. Это примерно вдвое сокращает число токенов и устраняет самую частую причину неверного прочтения данных. Вызов get_latest_prices с symbols: XAU,XAG, base: EUR и unit: gram возвращает примерно следующее:
{
"success": true,
"timestamp": 1792834892,
"date": "2026-10-24",
"base": "EUR",
"unit": "gram",
"rate_limit": {
"limit": 10000,
"remaining": 9874,
"reset": 1793491200,
"used": 126,
"plan": "Standard",
"reset_date": "2026-11-01T00:00:00.000Z"
},
"prices": {
"XAU": 110.4064149,
"XAG": 1.489616277
}
}Числа в этой статье приведены для примера. В реальных ответах используются самые свежие цены, доступные на вашем тарифе.
Поскольку каждый ответ содержит timestamp, base и unit, хороший ответ звучит как «в такое-то время золото стоило около 110 € за грамм», а не просто «110 €». Если в ответе нет этого контекста, попросите его добавить.
Ассистенты умеют и выстраивать цепочки вызовов. Если попросить сравнить соотношение цен золота и серебра сегодня и месяц назад, ассистент может получить цены обоих металлов на обе даты и сам выполнить деление. Если попросить график, клиент, умеющий выполнять код, может построить его по результату get_timeseries.
13 инструментов
Сервер предоставляет тринадцать инструментов. Семь из них возвращают рыночные данные, и каждый их вызов засчитывается как один запрос в рамках месячного лимита вашего тарифа — точно так же, как вызов REST. Остальные бесплатны.
| Инструмент | Что делает | Квота |
|---|---|---|
get_latest_prices | Последние цены на металлы, энергоносители, валюты и криптовалюты в любой базовой валюте и единице массы | 1 запрос |
get_historical_prices | Цены закрытия за прошедший день | 1 запрос |
convert | Пересчитывает сумму между двумя символами — по последней цене или на прошедшую дату | 1 запрос |
get_timeseries | Дневные цены закрытия между двумя датами (до 30 дней за вызов на Free, до 365 на платных тарифах) | 1 запрос |
get_fluctuation | Начальная и конечная цена, абсолютное и процентное изменение между двумя датами | 1 запрос |
get_ohlc | Цена открытия, максимум, минимум и цена закрытия за день | 1 запрос |
get_carat_prices | Цены на золото по каратам, например 22K или 18K (платные тарифы) | 1 запрос |
list_symbols | Все коды символов с названием, категорией и единицей измерения | Бесплатно |
get_account | Ваш тариф, месячный лимит, использование и дата обновления квоты | Бесплатно |
list_plans | Все тарифы с лимитами, месячными и годовыми ценами | Бесплатно |
list_api_keys | Ваши активные ключи API в маскированном виде | Бесплатно |
create_api_key | Создаёт ключ для ваших собственных приложений; только для подключений через OAuth; сначала запрашивает подтверждение | Бесплатно |
get_upgrade_link | Готовит ссылку на оплату через Stripe или, для подписчиков, ссылку на портал управления оплатой; сначала запрашивает подтверждение | Бесплатно |
При подключении клиента сервер также отправляет краткие инструкции: что означают коды символов, что цены на металлы указаны за тройскую унцию, если не задана единица измерения, и что инструменты данных расходуют квоту. Клиенты передают их модели, поэтому корректно работающий ассистент запрашивает только нужные символы. Меньше символов — короче ответы и меньше токенов.
Безопасность: только чтение по умолчанию и никаких платежей
Подключение ассистента к аккаунту вызывает резонный вопрос: что он может изменить? Благодаря архитектуре ответ получается коротким.
- Одиннадцать из тринадцати инструментов только читают данные. У них есть аннотация MCP
readOnlyHint, и они могут лишь читать цены, ваш тариф, использование и маскированные данные ключей. - Два инструмента записи сначала спрашивают.
create_api_keyиget_upgrade_linkпомечены как действия, которые что-то изменяют, поэтому MCP-клиенты запрашивают ваше подтверждение перед их запуском. - Сервер никогда ничего не списывает.
get_upgrade_linkсоздаёт сессию оплаты Stripe для запрошенного тарифа или ссылку на портал управления оплатой, если подписка у вас уже есть, и возвращает URL. Вы открываете его, проверяете цену и оплачиваете сами. Ассистент не может провести платёж. - Новые ключи показываются один раз. Ключ, созданный через
create_api_key, возвращается полностью лишь однажды, как и в личном кабинете, а хранится только его хеш. - Узкая область доступа. Подключение даёт доступ только к MetalAPI: ценам, вашему тарифу, использованию и ключам API. Сервер никогда не видит ваших разговоров, файлов или других коннекторов.
- Журналирование, как у трафика API. Вызовы рыночных данных отображаются в журнале запросов личного кабинета как
/mcp/с именем инструмента — рядом с вашими запросами REST.
Одну общую привычку при работе с MCP стоит сохранять с любым сервером: читайте запросы на подтверждение, которые показывает клиент, а не одобряйте их машинально, и удаляйте коннекторы, которыми больше не пользуетесь.
Квоты, свежесть данных и тарифы
Вызовы MCP расходуют тот же лимит, что и REST API. Вызов инструмента данных стоит один запрос независимо от числа возвращаемых символов, а list_symbols и инструменты аккаунта ничего не стоят. Действуют и поминутные лимиты — от 10 запросов в минуту на Free.
Цены настолько свежие, насколько позволяет ваш тариф. На тарифе Free ассистент видит дневные цены; на платных тарифах данные обновляются с интервалом от 30 минут до 5 секунд:
| Тариф | Цена в месяц | Запросов в месяц | Интервал обновления |
|---|---|---|---|
| Free | 0 $ | 100 | Раз в день |
| Lite | 4,99 $ | 1 000 | 30 минут |
| Standard | 11,99 $ | 10 000 | 10 минут |
| Advanced | 24,99 $ | 50 000 | 1 минута |
| Pro | 49,99 $ | 100 000 | 1 минута |
| Ultra | 99,99 $ | 500 000 | 15 секунд |
| Business | 149,99 $ | 500 000 | 15 секунд |
| Enterprise | 299,99 $ | 1 500 000 | 5 секунд |
Ста запросов в месяц хватит для отдельных вопросов в чате. Если вы используете ассистента для анализа, который загружает много рядов, или встраиваете его в агента, работающего по расписанию, время от времени просите его вызвать get_account: инструмент сообщает, сколько запросов использовано, сколько осталось и когда лимит обновится. Когда месячный лимит исчерпан, инструменты данных до 1-го числа месяца (UTC) возвращают ошибку превышения квоты со ссылкой на смену тарифа, а инструменты аккаунта продолжают работать. Полное сравнение — на странице тарифов.
Начать можно за пару минут: зарегистрируйте бесплатный аккаунт, следуйте руководству по настройке MCP для своего клиента и задайте первый вопрос. На странице ИИ и MCP кратко описана настройка, а в документации API — REST-эндпоинты, на которых построен каждый инструмент.
Попробуйте на своих данных
Создайте бесплатный аккаунт и отправьте первый запрос меньше чем за две минуты. 100 запросов в месяц, без банковской карты.
Читайте также
Спот, bid, ask и спред: как котируются цены на драгоценные металлы
Спот, bid, ask, средняя цена и спред для золота, серебра, платины и палладия: как дилеры формируют котировки и как запросить и показать bid/ask через API.
Цены на медь, алюминий, цинк и нефть через API: руководство для разработчиков
Цены на медь, алюминий, цинк, сталь, нефть и природный газ через API: рыночные единицы, нормализация, фьючерсы ближайшего месяца, пересчёт и примеры кода.
Как выбрать API цен на драгоценные металлы: 12 вопросов
Нейтральный чек-лист для выбора API цен на драгоценные металлы: источники, свежесть, история, единицы, bid/ask, лимиты, цены, безопасность, условия и MCP.