Skip to main content
Glama
README.md
# @shelv/mcp

MCP server for Shelv shelf operations.

## Links

- Website: [shelv.dev](https://shelv.dev)
- Docs: [docs.shelv.dev/guides/mcp-server](https://docs.shelv.dev/guides/mcp-server)
- npm: [npmjs.com/package/@shelv/mcp](https://www.npmjs.com/package/@shelv/mcp)
- Source: [github.com/shelv-dev/shelv-mcp](https://github.com/shelv-dev/shelv-mcp)

## Install

```bash
pnpm add @shelv/mcp
```

```bash
npm install @shelv/mcp
```

```bash
npx @shelv/mcp
```

## Environment

- `SHELV_API_KEY` for stdio mode
- `SHELV_MCP_TRANSPORT=stdio|http` (defaults to `stdio`)
- `SHELV_MCP_HTTP_HOST` (defaults to `127.0.0.1`)
- `SHELV_MCP_HTTP_PORT` (defaults to `3334`)
- `SHELV_MCP_ENABLE_WRITE_TOOLS=true` to enable `create_shelf` and `hydrate_shelf`
- `SHELV_MCP_SEARCH_MAX_FILES` (defaults to `500`)
- `SHELV_MCP_SEARCH_MAX_BYTES` (defaults to `5000000`)
- `SHELV_MCP_SEARCH_MAX_MATCHES` (defaults to `200`)
- `SHELV_MCP_READ_MAX_BYTES` (defaults to `250000`)

## Run

```bash
shelv-mcp
```

```bash
SHELV_MCP_TRANSPORT=http SHELV_MCP_HTTP_PORT=3334 shelv-mcp
```

In HTTP mode, send `Authorization: Bearer sk_...` on each request unless
`SHELV_API_KEY` is configured as a startup fallback.

## Tools

- `list_shelves`
- `get_shelf_tree`
- `read_shelf_file`
- `search_shelf`

Write tools are disabled by default and become available only when
`SHELV_MCP_ENABLE_WRITE_TOOLS=true`:

- `create_shelf`
- `hydrate_shelf`

## License

Apache-2.0.

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: list_shelves enumerates available shelves, get_shelf_tree retrieves a full shelf's structure and contents, read_shelf_file accesses a single file, and search_shelf performs text searches across files. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., list_shelves, get_shelf_tree, read_shelf_file, search_shelf). The naming is predictable and readable, with verbs like 'list', 'get', 'read', and 'search' appropriately describing the actions.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of managing shelves and files. Each tool serves a distinct and necessary function, covering listing, retrieval, reading, and searching without being overly sparse or bloated.

Completeness4/5

The toolset provides strong coverage for core operations like listing, reading, and searching shelves and files. However, there are minor gaps in CRUD/lifecycle coverage, such as no tools for creating, updating, or deleting shelves or files, which agents might need to work around for full management tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues