Skip to main content
Glama

neosql-mcp

NeoSQL Desktop의 데이터베이스 도구를 npx를 통해 MCP 호스트(Claude Code, Codex, …)로 가져오세요.

npm version license node

neosql-mcp는 MCP 호스트가 npx를 통해 NeoSQL Desktop 도구를 사용할 수 있게 해주는 로컬 stdio MCP 서버입니다.

이 패키지는 독립형 데이터베이스 서버, 데이터베이스 CLI, 또는 NeoSQL Desktop의 대체품이 아닙니다. 이 패키지는 MCP 호스트 프로세스 트리 내에서 실행되며, 표준 MCP stdio를 통해 NeoSQL 도구를 노출하고, macOS Unix Domain Socket 또는 Windows Named Pipe를 통한 HTTP상의 JSON-RPC로 실행 중인 NeoSQL Desktop 앱에 데이터베이스/UI 작업을 위임합니다.

[MCP host] -- stdio MCP --> [neosql-mcp]
  -- JSON-RPC over HTTP on UDS/Named Pipe --> [NeoSQL Desktop]

neosql-mcp를 사용하는 이유

  • AI 코딩 어시스턴트는 컬럼 이름과 테이블 구조를 추측하는 대신 실제 스키마를 읽고 실제 쿼리를 실행할 수 있을 때 더 나은 코드를 작성합니다. neosql-mcp는 팀이 이미 NeoSQL Desktop에서 구성한 데이터베이스를 모든 MCP 호스트에 노출합니다.

  • NeoSQL Desktop 하나만 실행하고 npx 명령 하나만 사용하면 — Claude Code, Codex 및 기타 모든 MCP 호스트가 NeoSQL Desktop에 이미 구성된 연결과 스키마를 사용할 수 있습니다. 호스트별 설정이 필요 없으며, 자격 증명이 NeoSQL Desktop을 벗어나지 않습니다.

Related MCP server: database-remote-mcp

보안

모든 트래픽은 Unix Domain Socket(macOS) 또는 Named Pipe(Windows)를 통해 로컬 머신 내에서만 유지됩니다. TCP 포트는 열리지 않으며, 업스트림 엔드포인트는 환경 변수나 구성 파일로 재정의할 수 없습니다. 데이터베이스 접근 범위는 NeoSQL Desktop의 연결 설정을 따릅니다 — 자격 증명과 연결별 권한은 여기에 중복 저장되지 않습니다.

사전 요구 사항

  • Node.js 20 이상.

  • 같은 머신에 설치된 NeoSQL Desktop.

  • Claude Code 또는 Codex와 같이 stdio 서버를 실행할 수 있는 MCP 호스트.

  • MCP가 활성화된 데이터베이스 연결과 스키마가 있는 NeoSQL 프로젝트.

빠른 시작

전역 설치가 필요 없습니다. MCP 호스트가 npx로 패키지를 실행하도록 구성하세요.

npx -y neosql-mcp

이 프로세스는 stdio MCP 서버이므로 터미널에서 명령을 직접 실행하면 입력을 기다리는 것처럼 보일 수 있습니다. 이는 정상적인 동작입니다.

MCP 호스트 구성

Claude Code .mcp.json

{
  "mcpServers": {
    "neosql": {
      "command": "npx",
      "args": ["-y", "neosql-mcp"]
    }
  }
}

Codex config.toml

[mcp_servers.neosql]
command = "npx"
args = [
  "-y",
  "neosql-mcp",
]

CLI 옵션

Option

Description

--profile=<prod|dev|local|stage>

일치하는 NeoSQL Desktop 프로필에 연결합니다.

MCP 호스트 구성에서는 --key=value 형식을 사용하세요. --profile dev와 같은 공백으로 구분된 형식은 의도적으로 지원되지 않습니다. 기본 프로필은 prod입니다.

컨텍스트 결정

NeoSQL 도구는 항상 NeoSQL Desktop에서 현재 선택되어 완전히 로드된 프로젝트를 사용합니다. Node 프로세스는 프로젝트나 기본 데이터베이스 좌표를 저장하지 않습니다.

데이터베이스 도구는 다음 두 가지 형식 중 하나로 좌표를 받습니다:

  1. connectionId, database, schema를 모두 생략하면 NeoSQL MCP Access Control에서 선택된 활성 프로젝트의 Default를 사용합니다.

  2. 세 값을 모두 함께 전달하면 list-connections가 반환한 명시적 MCP 활성화 좌표를 사용합니다. 데이터베이스 계층이 없는 DBMS에는 database: null을 사용하세요.

좌표 필드를 하나 또는 두 개만 전달하는 것은 유효하지 않습니다. 명시적 좌표는 유효하지 않을 때 프로젝트 Default로 폴백되지 않습니다.

완전한 명시적 좌표 튜플을 허용하는 도구:

  • list-tables

  • get-table-details

  • erd-create-tables

  • erd-modify-tables

  • execute-query

사용 가능한 도구

Tool

Purpose

ping

가벼운 MCP 상태 확인을 위해 pong을 반환합니다.

get-mcp-session-id

이 프로세스가 사용하는 업스트림 세션 ID를 반환하는 진단 도구입니다.

list-connections

현재 프로젝트의 MCP 활성화 NeoSQL 연결과 스키마를 나열합니다.

list-tables

프로젝트 Default 또는 명시적 좌표를 사용하여 테이블을 나열합니다.

get-table-details

컬럼, 키, 인덱스 및 관련 테이블 메타데이터를 반환합니다.

get-context-help

활성 프로젝트 Default 및 명시적 좌표 사용법을 설명합니다.

erd-create-tables

데이터베이스를 변경하지 않고 ERD에 가상 테이블을 추가합니다.

erd-modify-tables

데이터베이스를 변경하지 않고 가상 ERD 테이블 모델을 수정합니다.

execute-query

Default 또는 명시적 좌표를 사용하여 DDL을 포함한 SQL을 실행합니다.

전송

neosql-mcp는 결정적 로컬 엔드포인트를 통해 NeoSQL Desktop과 통신합니다:

  • macOS: path.join(os.tmpdir(), 'neosql-mcp.sock')

  • Windows: \\.\pipe\neosql-mcp

문제 해결

NeoSQL Desktop was not found

먼저 NeoSQL Desktop을 설치하세요. macOS에서 neosql-mcp는 현재 표준 /Applications~/Applications 위치를 먼저 확인합니다. 앱이 거기 없으면, 앱이 최소 한 번 실행된 후 NeoSQL Desktop이 ~/.neosql/mcp-config.json에 기록한 앱 경로로 폴백합니다. Windows에서는 HKCU 아래의 사용자별 NSIS 제거 레지스트리 항목을 확인합니다.

NeoSQL Desktop is not running

NeoSQL Desktop을 시작하고 로딩이 완료될 때까지 기다린 후 도구를 다시 실행하세요. 가능한 경우 neosql-mcp는 이 상태를 반환하기 전에 OS 수준 앱 활성화를 요청합니다.

NeoSQL Desktop did not respond

앱이 아직 시작 중이거나 차단되었을 수 있습니다. 잠시 기다렸다가 다시 시도하거나 NeoSQL Desktop을 다시 시작하세요.

컨텍스트 종속 도구가 실패하는 경우

NeoSQL Desktop에서 프로젝트를 선택하고 MCP Access Control에서 활성화된 Default를 구성하세요. 다른 좌표를 사용하려면 list-connections를 실행하고 해당 connectionId, databaseName, schemaName 값을 connectionId, database, schema로 함께 전달하세요.

npx가 패키지를 찾거나 실행할 수 없는 경우

MCP 호스트가 npx에 접근할 수 있고 Node.js가 20 이상인지 확인하세요.

개발

npm ci
npm run build
npm test

로컬 MCP 호스트 테스트를 위해 바이너리를 빌드하고 링크하세요:

npm run build
npm link
ls -la $(which neosql-mcp)

로컬 테스트가 끝나면 링크를 해제하여 직접 실행하는 neosql-mcp 명령이 더 이상 워크스페이스 빌드를 사용하지 않도록 하세요:

npm unlink -g neosql-mcp

Available Tools

10 tools
createTablescreateTablesA

Create one or more new tables in the NeoSQL application. Pass multiple table definitions to create them in a single call. Each definition may include columns, primary keys, foreign keys, indexes, and table-level constraints (UNIQUE / CHECK / EXCLUSION). Tables that fail (e.g. duplicates) are skipped and reported; successfully created tables are added to the ERD. Uses the current context (project/connection).

ParametersJSON Schema
NameRequiredDescriptionDefault
tableDefinitionsYesList of table definitions to create (e.g. [{name, remarks, columns, primaryKeys, ...}])
connectionIdNoNeoSQL connection ID from listConnections. If omitted, uses current context connectionId.
schemaNoMCP-enabled database schema name from listConnections. If omitted, uses current context schema.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description covers batch creation, failure skipping, and ERD updates, but does not disclose destructive nature, permissions, or rollback behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficient, front-loaded sentences with no unnecessary words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers batch creation, failure, and context, but misses return value description and deeper error handling, which is important given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds minimal per-parameter meaning; the batch and failure reporting context is helpful but not substantial beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create one or more new tables' with specific verb and resource, distinguishing it from sibling tools like modifyTables or listTables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains batch creation, failure handling, and context usage, but lacks explicit guidance on when to use versus alternatives like modifyTables or executeQuery.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

executeQueryexecuteQueryA

Execute a SQL query on the database through NeoSQL. Supports SELECT, INSERT, UPDATE, DELETE, and EXPLAIN statements. DDL statements (CREATE, ALTER, DROP, TRUNCATE) are NOT allowed — use createTables or modifyTables tools instead. SELECT and EXPLAIN return result rows (up to 200 rows). Uses the current context (project/connection/schema).

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesThe SQL statement to execute. Must not be DDL (CREATE/ALTER/DROP/TRUNCATE).
connectionIdNoNeoSQL connection ID from listConnections. If omitted, uses current context connectionId.
schemaNoMCP-enabled database schema name from listConnections. If omitted, uses current context schema.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description covers key behaviors: supported statements, DDL exclusion, row limit for SELECT/EXPLAIN, and context usage. Could be more explicit about side effects of write operations, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four well-structured sentences, each adding value. Purpose stated first. No redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers return behavior (up to 200 rows for SELECT/EXPLAIN), parameter context, and sibling tools. Lacks explicit statement that INSERT/UPDATE/DELETE return no rows, but implied. Good overall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for each parameter. Description adds context about 'current context' for connectionId and schema, which is not in schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'execute', resource 'SQL query on database', and specific supported statement types (SELECT, INSERT, UPDATE, DELETE, EXPLAIN). It explicitly distinguishes from sibling tools by disallowing DDL and referencing createTables/modifyTables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use (for DML and SELECT/EXPLAIN) and when not (DDL). Names alternatives (createTables, modifyTables) and explains context usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generateCodegenerateCodeB

Generate source code from a database table using a template pack. Uses the current context (project/connection/schema) for database connection. Returns generated file contents based on the specified template.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesTable name to generate code for
templatePackIdYesTemplate pack ID to use for code generation
schemaNoDatabase schema name. If omitted, uses current context schema.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose all behavioral traits. Does not state whether tool is read-only, has side effects (e.g., writing files), error behavior (e.g., missing table), or required permissions. Only states it returns file contents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three focused sentences: purpose, context requirement, output. No redundant words, information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, context, and return type, but lacks details on error conditions, valid template packs, prerequisite setup for context, and return format specifics. Adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% parameter description coverage, so baseline is 3. Description adds context about schema omission using current context, but does not elaborate on tableName or templatePackId beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'generate source code' and resource 'from a database table using a template pack'. It distinguishes from siblings like createTables (table creation vs code generation) though not explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: use when generating code from a table. Mentions current context for connection, but no explicit when-not-to-use or alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getContextHelpgetContextHelpA

Get information about how to find project and connection IDs. NeoSQL project and connection information is managed by the NeoSQL application (UI). Use listConnections to discover MCP-enabled connectionId/schema pairs. Set stable defaults with CLI options and pass connectionId/schema per tool call when needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It accurately describes the tool as providing information, which is clearly non-destructive. While it lacks explicit safety notes, the simplicity of the tool (no params, no mutations) makes this sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It front-loads the core purpose ('Get information...') and efficiently adds contextual guidance about related tools and configuration, making every sentence earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is complete. It explains its purpose, suggests when to use siblings, and provides practical advice for managing IDs. No additional information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the baseline is 4. The description adds value beyond the empty schema by explaining what the tool returns and how it fits into the larger workflow, though it doesn't need to document non-existent parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get information about how to find project and connection IDs,' which is a specific verb and resource. It distinguishes itself from siblings like listConnections (which discovers MCP-enabled pairs) by focusing on informational guidance rather than executing queries or modifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use context (finding project/connection IDs) and references an alternative tool (listConnections) for discovering MCP-enabled pairs. It also advises on setting defaults and passing IDs per tool call, covering both usage scenarios and best practices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getMcpSessionIdgetMcpSessionIdD

Get Mcp-Session-Id

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description fails to disclose behavioral traits such as side effects, authentication requirements, or idempotency. 'Get' implies read-only, but no confirmation or details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely short but wasteful; it merely restates the name. Conciseness should provide value, not redundancy. Could include a brief explanation in the same length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description must fully explain its purpose and return value. 'Get Mcp-Session-Id' is insufficient—it does not define what the session ID represents or how it is used.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in schema (100% coverage by default). Description adds no parameter-level insight, but given zero parameters, there is no information gap. Baseline 4 is not warranted because description does not proactively clarify anything.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'Get Mcp-Session-Id' is a tautology of the tool name. It does not specify the resource or action beyond what the name already implies, providing no additional clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings (e.g., listConnections, ping). The description lacks context for appropriate invocation scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTableDetailsgetTableDetailsA

Get detailed information about one or more tables including columns, indexes, primary keys, and foreign keys. Pass multiple table names to retrieve details in a single call. Uses the current context (project/connection/schema) if schema parameter is not specified.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNamesYesList of table names to get details for (e.g. ["users", "orders", "products"])
connectionIdNoNeoSQL connection ID from listConnections. If omitted, uses current context connectionId.
schemaNoMCP-enabled database schema name from listConnections. If omitted, uses current context schema.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavior. It mentions that schema/connection falls back to current context, which is helpful. It does not mention error handling, permissions, or performance implications, but for a read-only query tool, the level is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundancy. information is front-loaded and each sentence adds new, useful information. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only 3 parameters, one required, and no output schema, the description sufficiently explains the tool's purpose and usage scope. It covers the return types (columns, indexes, etc.) and context inheritance, leaving little ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, so baseline is 3. The description adds meaningful context beyond the schema: the ability to pass multiple table names and the fallback behavior for connectionId/schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves detailed information about tables (columns, indexes, primary keys, foreign keys) and supports multiple tables in one call. This distinguishes it from sibling tools like listTables (which likely lists only names).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells when to use the tool (to get detailed table info), implies context usage, and indirectly suggests that listTables is for simpler listings. However, it does not explicitly exclude cases like schema inspection vs. data retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listConnectionslistConnectionsA

List database connections that have MCP access enabled in the current NeoSQL project. Only connections (and schemas) that the user opted-in via the connection MCP tab are returned. Use this to discover which connectionId / schema values you can pass to other tools. Each connection entry includes id, name, description, dataSource (DBMS family), dbVersion (database product version, useful for dialect-version features), the per-user profile (envPreset such as local/dev/staging/prod, label, protection), and the list of MCP-enabled schemas with their per-schema policies (ddlExecute / autoCommit).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses that only MCP-enabled connections are returned and details each entry's fields. It is transparent about the per-user profile and per-schema policies, but could mention if any restrictions or pagination exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. It front-loads the main action and then elaborates on the content, making it easy to read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters or output schema, the description provides all necessary context: purpose, filter, returned fields. It is fully complete for an agent to decide and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters (100% schema coverage), so no parameter documentation is needed. The description adds no parameter info, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists database connections with MCP access enabled in the current NeoSQL project. It specifies the filter (only opted-in connections) and lists what each entry includes, distinguishing it from siblings like listTables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises to use this tool to discover connectionId and schema values for other tools, providing clear guidance on when to use it. However, it does not mention alternative tools or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listTableslistTablesA

List all tables and views in a database schema. Returns table names, types (TABLE/VIEW), and comments. Uses the current context (project/connection/schema) if parameters are not specified.

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionIdNoNeoSQL connection ID from listConnections. If omitted, uses current context connectionId.
schemaNoMCP-enabled database schema name from listConnections (e.g., 'public', 'dbo'). If omitted, uses current context schema.
searchNoSearch keyword to filter tables by name or comment (case-insensitive). If omitted, returns all tables.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral aspects. It implies a read-only operation but does not explicitly state non-destructiveness or any side effects. It mentions using current context, which adds transparency, but could be more explicit about safety or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that front-load the purpose and return value, with no redundant information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with fully documented parameters and no output schema, the description covers the essential information (what is returned, fallback behavior). It could mention error handling or pagination, but is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% description coverage for all three parameters. The description only repeats the fallback behavior already in the schema, adding no significant new meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: listing tables and views in a database schema, specifying the returned data (table names, types, comments). This distinguishes it from siblings like getTableDetails (detailed info on one table) or createTables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that parameters are optional and fall back to current context, providing clear usage guidance. However, it does not explicitly contrast with alternatives like getTableDetails or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

modifyTablesmodifyTablesA

Modify one or more existing tables in the NeoSQL application. Each alteration can include: table rename, comment operation, primary key operations, column operations (ADD/DROP/MODIFY/RENAME), index operations (ADD/DROP), foreign key operations (ADD/DROP), and table-level constraint operations (UNIQUE / CHECK / EXCLUSION; ADD/DROP). For table comments, use remarksOperation.modify=true when an empty string is an intended comment change. For primary keys, omit primaryKeyOperations or pass [] for no change; dropping every PK column requires an explicit DROP operation for each current PK column. Pass multiple alterations to modify several tables in a single call. Uses the current context (project/connection).

ParametersJSON Schema
NameRequiredDescriptionDefault
alterationsYesList of table alterations. Each specifies a target table and the changes to apply.
connectionIdNoNeoSQL connection ID from listConnections. If omitted, uses current context connectionId.
schemaNoMCP-enabled database schema name from listConnections. If omitted, uses current context schema.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It explains operational details (e.g., dropping every PK column requires explicit DROP). However, it does not mention whether the operation is transactional, whether changes are immediately persisted, or any permission requirements. Some behavioral traits are left implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and lists all operation types, making it thorough but not concise. It is front-loaded with the main action, but subsequent sentences are dense. It could be trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many operation types) and that the input schema covers all parameters, the description covers the main use cases and edge cases (e.g., empty comments, PK drops). Missing details like error handling or atomicity are minor gaps, but overall it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining the purpose of each operation group and providing usage nuance (e.g., when to set modify flag, how to handle PK drops). This elevates the score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool modifies existing tables and enumerates all supported operation types (rename, comments, PK, columns, indexes, foreign keys, constraints). It distinguishes from sibling tools like createTables (creates new tables) and getTableDetails (reads table info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides specific usage patterns, such as using remarksOperation.modify=true to intentionally set an empty comment, and that omitting primaryKeyOperations or passing [] means no change. It also mentions that multiple alterations can be batched and notes context defaults, but lacks explicit when-not-to-use guidance vs. alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingPingA

Health-check tool. Returns "pong".

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, but description fully discloses behavior: returns 'pong'. No side effects or additional traits needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with zero waste, properly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple health-check tool with no output schema, the description is complete enough to understand function and return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in schema, baseline is 4. Description adds nothing about parameters, but none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it is a health-check tool that returns 'pong', which is specific and distinct from siblings that handle database operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance when to use or when not, but the purpose is obvious; implicit usage as a health check. Lacks alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: schema creation, query execution, code generation, table details, listing, modification, connection discovery, context help, session ID, and health check. No overlapping responsibilities.

Naming Consistency5/5

All tool names follow a consistent verbNoun camelCase pattern (createTables, executeQuery, generateCode, getTableDetails, listTables, modifyTables, listConnections, getContextHelp, getMcpSessionId, ping). No mixing of conventions.

Tool Count5/5

10 tools is well-scoped for a database management server. It covers schema operations, query execution, discovery, and utility without being overwhelming.

Completeness3/5

Covers creation, modification, querying, and listing of tables, but lacks a drop table tool. Also missing is any tool for managing projects or connections beyond listing. This leaves notable gaps in lifecycle management.

Maintenance

ActivityActive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables remote database access (RDBMS and MongoDB) through MCP tools, supporting read/write queries, schema management, and more.
  • F
    license
    A
    quality
    C
    maintenance
    Local stdio MCP server for read-only Microsoft SQL Server access through Python and pyodbc, providing test connection, list tables, describe table, and query tools.
    4
  • A
    license
    A
    quality
    B
    maintenance
    Production-oriented MCP server for Microsoft SQL Server, enabling query execution, database discovery, schema introspection, and metadata inspection via MCP clients.
    6
    4
    MIT

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/unvus/neosql-mcp'

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