tsurugi-mcp-server

The tsurugi-mcp-server is a high-performance server software built in Java, supporting microservices architecture. It is designed for scalability and flexibility, enabling developers to quickly build applications. It particularly excels in features that aid in API management and data storage optimization.

GitHub Stars

8

User Rating

Not Rated

Favorites

0

Views

33

Forks

0

Issues

0

README
tsurugi-mcp-server

Model Context Protocol server to access Tsurugi.

Limitations
  • Tsurugi 1.5.0 or later.
  • Java21 or later.
Components
Tools
  • 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, nextCursor is 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 when transaction_type is LTX)
  • executeDdl
    • execute DDL (create, drop)
    • parameter
      • sql - SQL (string, required)
      • transaction_type - OCC, LTX. (string, default: OCC)
Resources
  • table metadata
Prompts
  • 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.
Configuration
Usage with Claude Desktop

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 java command is not included in the PATH, specify the full path. (e.g., "C:/Program Files/Java/jdk-21/bin/java")
  • args
    • Specify the jar file by full path.
    • -c or --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.
        1. If TSURUGI_AUTH_TOKEN is specified in env, authenticate using it as the auth token.
        2. If a default credential file (USER_HOME/.tsurugidb/credentials.json) exists, use it for authentication.
        3. Authenticate without authentication.
    • 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".
How to build
cd tsurugi-mcp-server
./gradlew shadowJar
ls build/libs/
How to test
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
License

Apache License, Version 2.0