Content
# tsurugi-mcp-server
[Model Context Protocol](https://github.com/modelcontextprotocol) server to access [Tsurugi](https://github.com/project-tsurugi/tsurugidb).
## Limitations
- Tsurugi 1.8.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
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
markitdown
Python tool for converting files and office documents 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.