Model Context Protocol server to access Tsurugi.
- Tsurugi 1.7.0 or later.
- Java21 or later.
listTableNames- list table names.
getTableMetadata- get table metadata (table schema).
- parameter
tableName- table name (string, required)
query- execute SQL (select).
- parameter
sql- SQL (string, required)transaction_type-OCC,LTX,RTX. (string, default:RTX)cursor- To continue the previous query. (string)
- If there is a continuation,
nextCursoris returned.
update- execute SQL (insert, update, delete).
- parameter
sql- SQL (string, required)transaction_type-OCC,LTX. (string, default:OCC)write_preserve- write preserve table names. (string, required whentransaction_typeisLTX)
executeDdl- execute DDL (create, drop)
- parameter
sql- SQL (string, required)transaction_type-OCC,LTX. (string, default:OCC)
- table metadata
tableList-prompt- Prompt to display the list of tables.
tableMetadata-prompt- Prompt to display the table metadata.
query-prompt- Prompt to display the table data.
First, download the tsurugi-mcp-server jar file from release page.
To use this server with the Claude Desktop, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:
{
"mcpServers": {
"tsurugidb": {
"command": "java",
"args": [
"-jar",
"/path/to/tsurugi-mcp-server-all.jar",
"-c", "tcp://localhost:12345",
"--credentials", "/path/to/credential-file"
]
}
}
}command- If the
javacommand is not included in the PATH, specify the full path. (e.g.,"C:/Program Files/Java/jdk-21/bin/java")
- If the
args- Specify the jar file by full path.
-cor--connection- the endpoint URL to connect Tsurugi. (required)- Specify one of the following credentials.
"--user", "user"and"--password", "password""--auth-token", "auth token""--credentials", "/path/to/credential-file""--no-auth"- If none of these are specified, authentication will be performed in the following order of priority.
- If
TSURUGI_AUTH_TOKENis specified inenv, authenticate using it as the auth token. - If a default credential file (
USER_HOME/.tsurugidb/credentials.json) exists, use it for authentication. - Authenticate without authentication.
- If
- If you want to limit the tools used, add
--enable-tools. (e.g., for read-only access:"--enable-tools", "listTableNames, getTableMetadata, query") - If resources is not used, add
"--resource", "false". - If prompts is not used, add
"--prompt", "false".
cd tsurugi-mcp-server
./gradlew shadowJar
ls build/libs/cd tsurugi-mcp-server
./gradlew test -Pdbtest.endpoint=tcp://localhost:12345 \
-Pdbtest.user=user \
-Pdbtest.password=password \
-Pdbtest.auth-token=token \
-Pdbtest.credentials=/path/to/credential-file