sql2odata-mcp
MCP server that translates SQL statements into OData v4 query syntax.
Use this as a tool in Claude Desktop, Cursor, Windsurf, or any MCP-compatible LLM client.
Install
npm install -g sql2odata-mcp
Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sql2odata": {
"command": "npx",
"args": ["-y", "sql2odata-mcp"]
}
}
}
Claude Code
claude mcp add sql2odata -- npx -y sql2odata-mcp
Cursor
Add to Cursor MCP settings:
{
"mcpServers": {
"sql2odata": {
"command": "npx",
"args": ["-y", "sql2odata-mcp"]
}
}
}
Available Tools
translate-sql
Translate a single SQL statement to OData v4.
Parameters:
sql(string, required) — SQL statement (SELECT, INSERT, UPDATE, DELETE)encode(boolean, optional) — URL-encode the output
Example:
translate-sql({ sql: "SELECT Name, Age FROM Users WHERE Country = 'Germany' ORDER BY Name LIMIT 10" })
Returns:
GET /Users?$select=Name,Age&$filter=Country eq 'Germany'&$orderby=Name asc&$top=10
Parameters:
$select = Name,Age
$filter = Country eq 'Germany'
$orderby = Name asc
$top = 10
translate-batch
Translate multiple SQL statements at once.
Parameters:
queries(string[], required) — Array of SQL statementsencode(boolean, optional) — URL-encode the output
sql-syntax-help
Show all supported SQL syntax and their OData v4 equivalents.
Parameters: none
Available Prompts
sql-to-odata
Pre-built prompt template that translates SQL and explains the result.
Parameters:
sql(string) — SQL statement to translate
Supported SQL
| SQL | OData v4 |
|---|---|
SELECT col1, col2 | $select=col1,col2 |
SELECT COUNT(*) | $count=true |
FROM Table | /Table |
WHERE col = 'val' | $filter=col eq 'val' |
WHERE LIKE '%text%' | contains(col,'text') |
WHERE IN ('a','b') | (col eq 'a' or col eq 'b') |
WHERE BETWEEN 1 AND 10 | col ge 1 and col le 10 |
IS NULL / IS NOT NULL | eq null / ne null |
ORDER BY col ASC | $orderby=col asc |
LIMIT n / OFFSET n | $top=n / $skip=n |
JOIN Table ON ... | $expand=Table |
GROUP BY + aggregates | $apply=groupby(...) |
INSERT INTO ... VALUES | POST + JSON body |
UPDATE ... SET ... WHERE | PATCH + JSON body |
DELETE FROM ... WHERE | DELETE |
Related
- sql2odata — VS Code Extension
- sql2odata-cli — CLI Tool
License
MIT
Author
Ulrich Waldmann — moonraker@magenta.de