facturas-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@facturas-mcp¿Cuánto vendí en lo que va del mes según DWH.facturas?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
facturas-mcp
Read-only MCP server for asking Claude Desktop about DWH.facturas.
How it works
Claude Desktop launches this server locally (its own process, communicating over stdio).
The server connects to SQL Server using a read-only login (
mcp_readonly) that only hasGRANT SELECTonDWH.facturas. That permission lives in the database, not in this code -- it is the real security barrier.It exposes two tools:
listar_columnas_facturas: so Claude can discover the columns before writing SQL.consultar_facturas: runs a read-onlySELECTagainstDWH.facturas.
Related MCP server: MSSQL Database MCP Server
Step 1 -- Create the restricted login in SQL Server
Run setup-db-login.sql ONCE, with a user who has administrative permissions on the database. Change the example password before running it.
Step 2 -- Configure this server's credentials
Create a .env file in this folder (it is not committed to git) with:
MSSQL_SERVER=sintesiserp.com
MSSQL_DATABASE=Diverxamotos_4_2
MSSQL_USER=mcp_readonly
MSSQL_PASSWORD=la-contrasena-que-pusiste-en-el-paso-1Step 3 -- Register the server in Claude Desktop
Open claude_desktop_config.json (on Windows: %APPDATA%\Claude\claude_desktop_config.json) and add this inside "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"
}
}
}
}Close Claude Desktop completely and reopen it so it loads the new server.
Step 4 -- Test it
In Claude Desktop, ask something like: "How much did I sell today according to DWH.facturas?"
Adding another table later
In SQL Server:
GRANT SELECT ON DWH.otratabla TO mcp_readonly;In
src/index.ts: add"DWH.OTRATABLA"to theALLOWED_TABLESarray, and optionally alistar_columnas_otratablatool just like the existing one.npm run buildand restart Claude Desktop.
Remote mode (Render) -- so multiple people can use it from Claude.ai
By default the server runs in stdio mode (local, one process per user, launched by Claude Desktop). To let multiple people use it from Claude.ai without installing anything, it can be deployed as an HTTP service on Render. The same dist/index.js works for both modes -- the switch is the MCP_TRANSPORT environment variable.
Important: in HTTP mode the only protection for the database is still the read-only login, but the MCP server itself is exposed at a public URL. That is why HTTP mode requires a token (MCP_AUTH_TOKEN) -- without it, the process won't even start. Anyone with the URL and the token can run SELECT against DWH.facturas, so treat that token like a password: don't publish it, don't commit it to git, and rotate it if it leaks.
Step 1 -- Generate a strong token
For example, with PowerShell:
-join ((48..57)+(65..90)+(97..122)|Get-Random -Count 40|%{[char]$_})Save that value -- it is your MCP_AUTH_TOKEN.
Step 2 -- Create the Web Service in Render
Push this project to a GitHub repository (you need
node_modulesanddistout of the repo -- they are already in.gitignore-- Render runsnpm installandnpm run buildon its own).In Render: New -> Web Service, connect the repo.
Build Command:
npm install && npm run buildStart Command:
npm startEnvironment variables (Environment tab):
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 sets
PORTautomatically -- no need to add it.)Deploy. When it finishes, Render gives you a URL like
https://facturas-mcp.onrender.com.
Step 3 -- Test that the server responds
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"}}}'If it responds with serverInfo and capabilities, the server is alive and accepting the token. Without the correct Authorization header it should respond with 401.
Step 4 -- Connect it from Claude.ai / Claude Desktop
In Claude.ai (or recent Claude Desktop): Settings -> Connectors -> Add custom connector, and register the URL https://facturas-mcp.onrender.com/mcp with the authentication header Authorization: Bearer <tu MCP_AUTH_TOKEN> (the exact UI may vary depending on the version of Claude -- look for the remote MCP server / custom connector option).
Note: Render's free plan "sleeps" the service after inactivity -- the first request after the sleep can take a few seconds to respond.
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