Skip to main content
Glama
SRVivek1

geekmonks-mcp-bookmarks

by SRVivek1
README.md
# geekmonks-mcp-bookmarks

Companion lab for the GeekMonks MCP series: a local **bookmarks** MCP server over **stdio** (TypeScript).

- Series hub: [MCP Without the Hype](https://blog.geekmonks.com/posts/ai-ml/mcp-without-the-hype/)
- Checkpoint tags: `part-3` (tools only), `part-4` (tools + resource `bookmarks://list` + prompt `summarize-bookmarks`)

**Host note:** tools show up most reliably in Cursor. Verify **resources** and **prompts** with MCP Inspector even when the host UI is limited.

## Requirements

- Node.js 20+

## Setup

```bash
git clone https://github.com/SRVivek1/geekmonks-mcp-bookmarks.git
cd geekmonks-mcp-bookmarks
git checkout part-3   # or part-4
npm install
npm run build
```

Optional: set `BOOKMARKS_PATH` to a JSON file path. Default store: `./data/bookmarks.json` (created on first use; gitignored).

## MCP Inspector (prove tools without Cursor)

From the repo root after `npm run build`:

```bash
npx @modelcontextprotocol/inspector node dist/index.js
```

Connect, open **Tools**, try `list_bookmarks` / `add_bookmark` / `search_bookmarks`.

On tag `part-4`, also check **Resources** (`bookmarks://list`) and **Prompts** (`summarize-bookmarks`).

## Cursor (`mcp.json`)

Project config example (adjust the absolute path):

```json
{
  "mcpServers": {
    "bookmarks": {
      "type": "stdio",
      "command": "node",
      "args": ["/ABS/PATH/TO/geekmonks-mcp-bookmarks/dist/index.js"]
    }
  }
}
```

Reload MCP / start a new Agent chat. Approve tool calls when prompted.

## Logging rule

Never write protocol noise to **stdout**. This server logs only with `console.error` (stderr).

## License

MIT

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: listing, adding, and searching bookmarks. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: list_bookmarks, add_bookmark, search_bookmarks. The pattern is clear and predictable.

Tool Count3/5

With only 3 tools, the server is minimal but covers the basic operations for a bookmark store. It feels slightly thin but is reasonable for a simple local JSON store.

Completeness3/5

The server provides list, add, and search, but lacks update and delete operations, which are common for bookmark management. This is a notable gap but agents can work around it by not needing those operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues