mcp-tech-spec / README.md
Eremenko's picture
Updated README.md
a4d07f8
|
Raw History Blame Contribute Delete
7.55 kB

MCP Tech Spec Server (Cursor UI) (Ru)

Стандартный MCP сервер для генерации и обновления технических спецификаций мер OLAP, вызываемый напрямую из интерфейса Cursor. Текущая реализация не синхронизирована с графом LangGraph.

Назначение

  • Анализ мер в Power BI (.bim) и связанных SQL артефактов (views, stored procedures)
  • Формирование промптов для LLM: создание/добавление/обновление спецификаций
  • Работа через Cursor UI как обычный MCP сервер (HTTP, порт 8000)

Запуск сервера

mcp.run(transport="http", port=8000)

Инструменты

1) configure_session

Инициализация сессии: сохраняет пути к директориям с SQL процедурами и представлениями. Обязателен единоразовый вызов перед остальными инструментами.

  • Параметры: session_id, procedures_dir, views_dir
  • Возвращает: подтверждение настройки сессии

2) ts_measure_new_doc

Генерация промпта для создания новой спецификации одной меры.

  • Параметры: measure, session_id, olap_dir?, example_tech_spec_dir?
  • Логика: анализирует меру в .bim, трассирует поток данных (OLAP таблицы → DWH views → хранимые процедуры), опирается на пример спецификации; указывает сохранить файл рядом с шаблоном

3) ts_measure_existing_doc

Генерация промпта для добавления/замены спецификации меры в существующем документе.

  • Параметры: measure, existing_doc_dir, session_id, olap_dir?, replace_existing_measure?
  • Логика: анализирует меру и обновляет указанный markdown, при replace_existing_measure=True перезаписывает найденное описание

4) ts_list_measures_existing_doc

Генерация промпта для пакетного обновления мер по списку.

  • Параметры: list_measures_dir, existing_doc_dir, session_id, olap_dir?, replace_existing_measure?
  • Требование к списку мер: markdown с # — категория, ## — мера
  • Логика: для каждой категории создаёт/обновляет раздел, добавляет спецификации мер с описанием потока данных

Структура генерируемых спецификаций

  • Общая информация (название, тип, источник, формат)
  • Назначение
  • Исходные данные
  • Логика обработки (DAX + описание)
  • Условия фильтрации
  • Зависимости (базовые меры, OLAP таблицы, DWH views, поток данных)

Значения по умолчанию

Если не переданы параметры:

  • olap_dir: /Users/eremenkoivan/Library/CloudStorage/OneDrive-TWIGACG/agrotek/OLAP
  • example_tech_spec_dir: /Users/eremenkoivan/Projects/PythonProjects/MCPTechSpec/ТЗ DWH ETL.md (для ts_measure_new_doc)

Как использовать в Cursor

  1. Вызвать configure_session с путями к процедурам и представлениям.
  2. Выбрать инструмент: одиночная мера (ts_measure_new_doc/ts_measure_existing_doc) или пакет (ts_list_measures_existing_doc).
  3. Скопировать сгенерированный промпт в Cursor и выполнить, позволяя LLM создать/обновить markdown.
  4. Проверить сохранённые файлы (имя и расположение указываются в промпте).

Сервер предназначен только для генерации промптов и управления конфигурацией сессий; оркестрация выполняется пользователем через Cursor UI.


MCP Tech Spec Server (Cursor UI) (Eng)

Standard MCP server for generating and updating technical specifications for OLAP measures, called directly from the Cursor interface. The current implementation is not synchronized with the LangGraph graph.

Purpose

  • Analysis of measures in Power BI (.bim) and related SQL artifacts (views, stored procedures)
  • Generation of prompts for LLM: create/add/update specifications
  • Operation through Cursor UI as a standard MCP server (HTTP, port 8000)

Server Startup

mcp.run(transport="http", port=8000)

Tools

1) configure_session

Session initialization: saves paths to directories with SQL procedures and views. Must be called once before other tools.

  • Parameters: session_id, procedures_dir, views_dir
  • Returns: session configuration confirmation

2) ts_measure_new_doc

Generates a prompt for creating a new specification for a single measure.

  • Parameters: measure, session_id, olap_dir?, example_tech_spec_dir?
  • Logic: analyzes the measure in .bim, traces data flow (OLAP tables → DWH views → stored procedures), uses example specification as reference; instructs to save the file next to the template

3) ts_measure_existing_doc

Generates a prompt for adding/replacing a measure specification in an existing document.

  • Parameters: measure, existing_doc_dir, session_id, olap_dir?, replace_existing_measure?
  • Logic: analyzes the measure and updates the specified markdown, with replace_existing_measure=True overwrites found description

4) ts_list_measures_existing_doc

Generates a prompt for batch updating measures from a list.

  • Parameters: list_measures_dir, existing_doc_dir, session_id, olap_dir?, replace_existing_measure?
  • Requirement for measure list: markdown with # — category, ## — measure
  • Logic: for each category creates/updates a section, adds measure specifications with data flow description

Structure of Generated Specifications

  • General information (name, type, source, format)
  • Purpose
  • Source data
  • Processing logic (DAX + description)
  • Filtering conditions
  • Dependencies (base measures, OLAP tables, DWH views, data flow)

Default Values

If parameters are not provided:

  • olap_dir: /Users/eremenkoivan/Library/CloudStorage/OneDrive-TWIGACG/agrotek/OLAP
  • example_tech_spec_dir: /Users/eremenkoivan/Projects/PythonProjects/MCPTechSpec/ТЗ DWH ETL.md (for ts_measure_new_doc)

How to Use in Cursor

  1. Call configure_session with paths to procedures and views.
  2. Choose a tool: single measure (ts_measure_new_doc/ts_measure_existing_doc) or batch (ts_list_measures_existing_doc).
  3. Copy the generated prompt into Cursor and execute it, allowing the LLM to create/update the markdown.
  4. Check saved files (name and location are specified in the prompt).

The server is intended only for generating prompts and managing session configurations; orchestration is performed by the user through the Cursor UI.