Skip to main content
Glama
xytangme

NeoDB MCP Server

Official
by xytangme
README.md
# NeoDB MCP Server

A Message Control Protocol (MCP) server implementation for interacting with [NeoDB](https://neodb.social/), a social book cataloging service. This server provides tools to fetch user information, search books, and retrieve detailed book information through NeoDB's API.

<a href="https://glama.ai/mcp/servers/1any3eeaza"><img width="380" height="200" src="https://glama.ai/mcp/servers/1any3eeaza/badge" alt="NeoDB Server MCP server" /></a>

## Setup

### Install UV
First, install UV package installer:

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

### Create Virtual Environment
Create and activate a Python virtual environment using UV:

```bash
uv venv
source .venv/bin/activate  # On Unix/macOS
# or
.venv\Scripts\activate     # On Windows
```

### Install Dependencies
Install project dependencies using UV:

```bash
uv pip install .
```

## Available Tools

The server provides the following tools:

1. **get-user-info**
   - Gets current user's basic information
   - No parameters required

2. **search-books**
   - Searches items in the catalog
   - Parameters:
     - `query` (string): Search query for books

3. **get-book**
   - Gets detailed information about a specific book
   - Parameters:
     - `book_id` (string): The ID of the book to retrieve

## Usage with Claude Desktop

### Get Access Token

There are two ways to get your access token:

1. Using the official guide: Follow the [official documentation](https://neodb.net/api/) to obtain your access token.

2. Using automated script: You can use the [neodb-get-access-token](https://github.com/xytangme/neodb-get-access-token) script which provides a simplified way to get your access token.

### Update Config `claude_desktop_config.json`

```json
{
  "mcpServers": {
    "neodb": {
      "command": "uv",
      "args": [
        "--directory",
        "<PATH_TO_PROJECT_DIR>",
        "run",
        "<PATH_TO_SCRIPT>",
        "<API_BASE> e.g. https://neodb.social",
        "<ACCESS_TOKEN>"
      ]
    }
  }
}
```

Where:
- `<API_BASE>`: The base URL for the NeoDB API
- `<ACCESS_TOKEN>`: Your NeoDB API access token

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

TDQS

B3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get-book retrieves details for a specific book, get-user-info fetches user information, and search-books performs catalog searches. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern with hyphens (e.g., get-book, get-user-info, search-books), which is predictable and readable. The minor deviation is that get-user-info uses 'info' instead of a more specific noun like 'user', but overall the pattern is well-maintained.

Tool Count3/5

With only 3 tools, the set feels thin for a database server, potentially lacking operations like create, update, or delete for books or users. While the tools cover basic retrieval and search, the scope suggests more comprehensive functionality might be expected.

Completeness2/5

The tool surface is significantly incomplete for a database server, as it only provides read operations (get and search) with no ability to modify data (e.g., create, update, delete books or users). This creates gaps that could lead to agent failures when full CRUD operations are needed.

Maintenance

ActivityInactive
ResponsivenessNo issues