Skip to content

zhichkin/dajet-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DaJet MCP Server docker-logo

Документация

MCP-сервер для получения и анализа метаданных и струкутуры баз данных 1С:Предприятие 8.

Функционал сервера основан на использовании библиотеки DaJet Metadata и таким образом аналогичен функционалу DaJet HTTP Server.

DaJet MCP Server получает объекты метаданных 1С:Предприятие 8 вместе с описанием структуры хранения этих объектов в базе данных, то есть с именами таблиц и полей.

Установка и запуск на Windows или Linux

  1. Установить Microsoft .NET 10 SDK
  2. Скачать дистрибутив DaJet MCP Server
  3. Создать рабочий каталог и распаковать в него дистрибутив, например: C:\dajet-mcp-server
  4. Перейти в каталог установки и запустить исполняемый файл DaJet.Mcp.Server.exe

Установка и запуск в Docker

  1. Получить образ из Docker Hub
docker pull zhichkin/dajet-mcp-server
  1. Запустить контейнер в Docker
docker run --name dajet-mcp-server --user=root -it -p 5000:5000 zhichkin/dajet-mcp-server

Настройка сервера (корневой каталог установки)

  1. Адрес и порт MCP-сервера для работы по протоколу HTTP указываются в файле appsetting.json. По умолчанию: http://localhost:3000.
  2. Настроить подключения к базам данных 1С:Предприятие 8 в файле datasources.json. Сервер может работать сразу с несколькими базами данных. Обращение к базам данных выполняется AI-агентом по её имени.

Файл datasources.json

{
  "DataSources": [
    {
      "Name": "MS_TEST",
      "Type": "SqlServer",
      "ConnectionString": "Data Source=server;Initial Catalog=database;Integrated Security=True;Encrypt=False;"
    }
  ]
}

Подключение MCP-сервера в IDE Cursor

Файл mcp.json

{
  "mcpServers": {
    "dajet-mcp-server": {
      "url": "http://localhost:3000"
    }
  }
}

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

Создание и подключение произвольных пользовательских MCP-инструментов на DaJet Script

Инструмент Описание Параметры
get_metadata_type_names Получает список поддерживаемых типов объектов метаданных Нет
get_database_names Получает список имён доступных баз данных Нет
reset_cache Сбрасывает кэш метаданных базы данных (конфигурации) - Имя базы данных (конфигурации)
get_database_description Получает описание базы данных (конфигурации) по её имени - Имя базы данных (конфигурации)
get_database_metadata Получает описание структуры метаданных базы данных (конфигурации) по её имени - Имя базы данных (конфигурации)
search_metadata_names Получает список полных имён объектов метаданных базы данных (конфигурации) по части имени (шаблону) - Имя базы данных (конфигурации)
- Шаблон поиска
get_metadata_object Получает описание структуры объекта метаданных базы данных (конфигурации) по его типу и имени - Имя базы данных (конфигурации)
- Тип объекта метаданных
- Имя объекта метаданных
get_metadata_object_by_code Получает описание структуры объекта метаданных базы данных (конфигурации) по его числовому коду - Имя базы данных (конфигурации)
- Код типа объекта метаданных
resolve_metadata_references Получает имена объектов метаданных по их идентификатору UUID для указанной базы данных (конфигурации) - Имя базы данных (конфигурации)
- Список идентификаторов объектов метаданных
execute_query Выполняет произвольный параметризованный запрос SELECT к указанной базе данных. Результат запроса возвращается в виде массива объектов JSON. - Имя базы данных (конфигурации)
- Текст запроса DaJet Script
- Именованные параметры запроса

Пример запроса, который AI-агент должен уметь формировать для инструмента execute_query:

SELECT Ссылка, Код, Наименование
  FROM Справочник.Номенклатура
 WHERE Код = @Код

Параметры для запроса передаются примерно в таком виде:

{
   "Код": "333"
}

Пример запроса по протоколу MCP

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "execute_query",
    "arguments": {
      "database": "MS_TEST",
      "script": "SELECT TOP 1 Ссылка, Код, Наименование FROM Справочник.Номенклатура WHERE Код = @Код",
      "attributes": {
        "Код": "333"
      }
    }
  }
}

Поддерживаемые типы данных параметров запроса

{
  "Булево": true,
  "Число": 1234,
  "ДатаВремя": "2026-01-01T12:34:56",
  "Строка": "Это строка",
  "Идентификатор": "1677349A-095F-4488-896F-93425B720FEB",
  "Ссылка": "{333:1677349A-095F-4488-896F-93425B720FEB}"
}

About

MCP-сервер для получения и анализа метаданных 1С:Предприятие 8

Topics

Resources

License

Stars

Watchers

Forks

Contributors