facturas-mcp
facturas-mcp
DWH.facturas について Claude Desktop に質問するための読み取り専用 MCP サーバー。
仕組み
Claude Desktop がこのサーバーをローカルで起動する(専用プロセス、stdio で通信)。
サーバーは 読み取り専用 のログイン(
mcp_readonly)を使って SQL Server に接続する。 このログインにはDWH.facturasに対するGRANT SELECTしかない。その権限はデータベース 側にあり、このコードにはない -- これが実際のセキュリティの壁である。2 つのツールを公開する:
listar_columnas_facturas: Claude が SQL を書く前に列を発見できるようにする。consultar_facturas:DWH.facturasに対して読み取り専用のSELECTを実行する。
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 によると、今日の売上はいくら?」
後から別のテーブルを追加する
SQL Server で:
GRANT SELECT ON DWH.otratabla TO mcp_readonly;src/index.tsで: 配列ALLOWED_TABLESに"DWH.OTRATABLA"を追加し、必要に応じて 既存のものと同じlistar_columnas_otratablaツールも追加する。npm run buildを実行して Claude Desktop を再起動する。
リモートモード (Render) -- 複数の人が Claude.ai から使うために
デフォルトでは、サーバーは stdio モードで動作する(ローカル、ユーザーごとに 1 プロセス、
Claude Desktop が起動する)。複数の人が何もインストールせずに Claude.ai から使えるようにするには、
Render に HTTP サービスとしてデプロイできる。同じ dist/index.js が両方のモードに対応している --
切り替えは環境変数 MCP_TRANSPORT で行う。
重要: HTTP モードでは、データベースの唯一の保護は読み取り専用ログインのままであるが、
MCP サーバー自体 が公開 URL にさらされることになる。そのため HTTP モードではトークン
(MCP_AUTH_TOKEN)が必須である -- これがないとプロセスは起動すらしない。URL と トークンを
持っている人は誰でも DWH.facturas に対して SELECT を実行できる。したがって、そのトークンは
パスワードと同じように扱うこと: 公開しない、git にアップロードしない、漏えいしたらローテーションする。
手順 1 -- 強力なトークンを生成する
例えば、PowerShell で:
-join ((48..57)+(65..90)+(97..122)|Get-Random -Count 40|%{[char]$_})その値を保存する -- それが MCP_AUTH_TOKEN になる。
手順 2 -- Render で Web Service を作成する
このプロジェクトを GitHub リポジトリにアップロードする(
node_modulesとdistは リポジトリの外に置く必要がある -- これらはすでに.gitignoreに含まれている -- Render がnpm installとnpm run buildを自動で実行する)。Render で: New -> Web Service を選択し、リポジトリを接続する。
Build Command:
npm install && npm run buildStart Command:
npm startEnvironment 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を自動的に定義する -- 追加する必要はない。)デプロイする。完了すると、Render から
https://facturas-mcp.onrender.comのような URL が提供される。
手順 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 <tu MCP_AUTH_TOKEN> 付きで登録する(正確な UI は Claude のバージョンに
よって異なる場合がある -- リモート MCP サーバー / カスタムコネクタのオプションを探すこと)。
注: Render の free プランは、非アクティブになるとサービスを「スリープ」させる -- スリープ後の最初の リクエストは応答まで数秒かかることがある。
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseNot gradedqualityDmaintenanceEnables 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.1MIT
- FlicenseAqualityDmaintenanceEnables natural language to SQL queries on MSSQL databases via Claude, with safe SELECT-only execution and schema discovery.3
- AlicenseNot gradedqualityDmaintenanceProvides secure SQL Server database access, allowing users to list tables and execute SQL queries through natural language in Claude Desktop.MIT
Related MCP Connectors
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Chile DTE for AI agents - boleta/factura electronica via OpenFactura or LibreDTE. Stateless BYO.
Colombia DIAN factura electronica: AI agents issue and query e-invoices, stateless BYO.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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