Content
# tsurugi-mcp-server
[Model Context Protocol](https://github.com/modelcontextprotocol) server to access [Tsurugi](https://github.com/project-tsurugi/tsurugidb).
## Limitations
- Tsurugi 1.9.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](https://github.com/project-tsurugi/tsurugi-mcp-server/releases).
To use this server with the [Claude Desktop](https://claude.ai/download), add the following configuration to the "mcpServers" section of your `claude_desktop_config.json`:
```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
```bash
cd tsurugi-mcp-server
./gradlew shadowJar
ls build/libs/
```
## How to test
```bash
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](http://www.apache.org/licenses/LICENSE-2.0)
Connection Info
You Might Also Like
markitdown
Python tool for converting files and office documents to Markdown.
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
Fetch
Retrieve and process content from web pages by converting HTML into markdown format.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.