Skip to main content
Glama
Andres2009

facturas-mcp

by Andres2009

facturas-mcp

Сервер MCP только для чтения, чтобы задавать Claude Desktop вопросы о DWH.facturas.

Как это работает

  • Claude Desktop запускает этот сервер локально (отдельный процесс, общение через stdio).

  • Сервер подключается к SQL Server, используя логин только для чтения (mcp_readonly), у которого есть только GRANT SELECT на DWH.facturas. Это разрешение живёт в базе данных, а не в этом коде -- оно и есть реальный барьер безопасности.

  • Предоставляет два инструмента:

    • listar_columnas_facturas: чтобы Claude обнаруживал колонки перед написанием SQL.

    • consultar_facturas: выполняет SELECT только для чтения к DWH.facturas.

Related MCP server: MSSQL Database MCP Server

Шаг 1 -- Создать ограниченный логин в SQL Server

Запустите setup-db-login.sql ОДИН РАЗ, под пользователем с правами администратора на базе данных. Измените пример пароля перед выполнением.

Шаг 2 -- Настроить учётные данные этого сервера

Создайте файл .env в этой папке (в git он не попадает) с:

MSSQL_SERVER=sintesiserp.com
MSSQL_DATABASE=Diverxamotos_4_2
MSSQL_USER=mcp_readonly
MSSQL_PASSWORD=la-contrasena-que-pusiste-en-el-paso-1

Шаг 3 -- Зарегистрировать сервер в Claude Desktop

Откройте claude_desktop_config.json (в Windows: %APPDATA%\Claude\claude_desktop_config.json) и добавьте это внутрь "mcpServers":

{
  "mcpServers": {
    "facturas": {
      "command": "node",
      "args": ["C:\\Users\\Developer-07\\Documents\\DESARROLLO\\facturas-mcp\\dist\\index.js"],
      "env": {
        "MSSQL_SERVER": "sintesiserp.com",
        "MSSQL_DATABASE": "Diverxamotos_4_2",
        "MSSQL_USER": "mcp_readonly",
        "MSSQL_PASSWORD": "la-contrasena-que-pusiste-en-el-paso-1"
      }
    }
  }
}

Полностью закройте Claude Desktop и откройте его снова, чтобы он загрузил новый сервер.

Шаг 4 -- Проверить

В Claude Desktop спросите что-то вроде: «Сколько я продал сегодня по данным DWH.facturas?»

Добавление ещё одной таблицы позже

  1. В SQL Server: GRANT SELECT ON DWH.otratabla TO mcp_readonly;

  2. В src/index.ts: добавьте "DWH.OTRATABLA" в массив ALLOWED_TABLES и, при желании, инструмент listar_columnas_otratabla по аналогии с уже существующим.

  3. npm run build и перезапустите Claude Desktop.

Удалённый режим (Render) -- чтобы несколько человек могли использовать его из Claude.ai

По умолчанию сервер работает в режиме stdio (локально, один процесс на пользователя, запускается Claude Desktop). Чтобы несколько человек могли использовать его из Claude.ai без установки чего-либо, его можно развернуть как HTTP-сервис на Render. Тот же dist/index.js подходит для обоих режимов -- переключателем служит переменная окружения MCP_TRANSPORT.

Важно: в HTTP-режиме единственной защитой базы данных по-прежнему остаётся логин только для чтения, но сам MCP-сервер оказывается доступен по публичному URL. Поэтому HTTP-режим требует токен (MCP_AUTH_TOKEN) -- без него процесс вообще не запустится. Любой, у кого есть URL и токен, может выполнять SELECT к DWH.facturas, поэтому относитесь к этому токену как к паролю: не публикуйте его, не загружайте в git и меняйте его, если он утёк.

Шаг 1 -- Сгенерировать надёжный токен

Например, с помощью PowerShell:

-join ((48..57)+(65..90)+(97..122)|Get-Random -Count 40|%{[char]$_})

Сохраните это значение -- это ваш MCP_AUTH_TOKEN.

Шаг 2 -- Создать Web Service в Render

  1. Загрузите этот проект в репозиторий GitHub (node_modules и dist должны быть вне репозитория -- они уже в .gitignore -- Render сам выполнит npm install и npm run build).

  2. В Render: New -> Web Service, подключите репозиторий.

  3. Build Command: npm install && npm run build

  4. Start Command: npm start

  5. Environment variables (вкладка Environment):

    MCP_TRANSPORT=http
    MCP_AUTH_TOKEN=<el token del paso 1>
    MSSQL_SERVER=sintesiserp.com
    MSSQL_DATABASE=Diverxamotos_4_2
    MSSQL_USER=mcp_readonly
    MSSQL_PASSWORD=<la contrasena del login de solo lectura>

    (Render определяет PORT автоматически -- добавлять его не нужно.)

  6. Deploy. Когда завершится, Render выдаст URL вида https://facturas-mcp.onrender.com.

Шаг 3 -- Проверить, что сервер отвечает

curl https://facturas-mcp.onrender.com/health
# {"status":"ok"}

curl -X POST https://facturas-mcp.onrender.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer <tu MCP_AUTH_TOKEN>" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

Если он отвечает serverInfo и capabilities, сервер жив и принимает токен. Без правильного заголовка Authorization он должен ответить 401.

Шаг 4 -- Подключить его из Claude.ai / Claude Desktop

В Claude.ai (или в свежей версии Claude Desktop): Settings -> Connectors -> Add custom connector, и укажите URL https://facturas-mcp.onrender.com/mcp с заголовком аутентификации Authorization: Bearer <ваш MCP_AUTH_TOKEN> (точный интерфейс может отличаться в зависимости от версии Claude -- ищите опцию удалённого MCP-сервера / custom connector).

Примечание: бесплатный план Render «усыпляет» сервис после бездействия -- первый запрос после «сна» может отвечать несколько секунд.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to connect and query Microsoft SQL Server databases using natural language, executing read-only SQL queries for safe data inspection and analysis.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely interact with Microsoft SQL Server databases to query data, inspect schemas, and retrieve metadata with read-only operations by default and optional write capabilities.
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables natural language to SQL queries on MSSQL databases via Claude, with safe SELECT-only execution and schema discovery.
    3

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Andres2009/MCP-SIDECIL'

If you have feedback or need assistance with the MCP directory API, please join our Discord server