Skip to main content
Glama

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 statements

  • encode (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

License

MIT

Author

Ulrich Waldmannmoonraker@magenta.de

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/moonraker46/sql2odata-mcp'

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