Skip to main content
Glama
README.md
# pinboard-mcp

Claude Desktop から [Pinboard](https://pinboard.in/) にブックマークを保存するローカル MCP サーバー。

URL を伝えるだけで、Claude が日本語要約とタグを生成して Pinboard に保存する。

## 前提条件

- macOS(Claude Desktop がインストールされていること)
- Node.js 24 以降
- pnpm 9 以降
- Pinboard の API トークン([設定画面](https://pinboard.in/settings/password)から取得)

## セットアップ

```bash
# 依存パッケージをインストール
pnpm install

# ビルド
pnpm build
```

## Claude Desktop への登録

`~/Library/Application Support/Claude/claude_desktop_config.json` の `mcpServers` に以下を追加する。

```json
{
  "mcpServers": {
    "pinboard-mcp": {
      "command": "node",
      "args": ["/path/to/pinboard-mcp/dist/index.js"],
      "env": {
        "PINBOARD_TOKEN": "username:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}
```

`/path/to/pinboard-mcp` はこのリポジトリの絶対パスに置き換える。`PINBOARD_TOKEN` は `username:token` 形式(Pinboard 設定画面で確認できる値)をそのまま設定する。

設定を保存後、Claude Desktop を再起動する。

## 使い方

Claude Desktop で次のように伝えるだけでブックマークを保存できる。

> `https://example.com` をブックマークして

Claude がページを取得・要約し、ブックマーク内容を提示してから確認を求める。「はい」と答えると Pinboard に保存される。

保存されるデータ:

| 項目 | 内容 |
|---|---|
| URL | 指定した URL |
| タイトル | `<title>` タグを基に Claude が整形したタイトル |
| 要約 | 140 字以内の日本語要約 |
| タグ | 英小文字スラッグ形式のタグ(1〜5 個) |

すべてのブックマークは非公開(`shared=no`)で保存される。同一 URL が既に保存済みの場合は上書き更新される。

## 開発

```bash
# テストを実行
pnpm test

# 型チェック・Lint・テストをまとめて実行
pnpm check

# Lint と自動整形
pnpm lint:write
```

## 技術スタック

| 役割 | 採用技術 |
|---|---|
| 言語 | TypeScript 7 |
| ランタイム | Node.js 24 |
| MCP SDK | `@modelcontextprotocol/sdk` |
| バリデーション | zod |
| テスト | Vitest |
| Linter / Formatter | Biome |

選定根拠は [docs/spec/003_architecture.md](./docs/spec/003_architecture.md) 参照。

TDQS

A4.3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion. save_bookmark has a single, clear purpose.

Naming Consistency5/5

The single tool name follows a clear verb_object convention. There are no other tools to introduce naming inconsistency.

Tool Count3/5

One tool is a thin but not absurd surface for a bookmarking service. It can support a narrow save-only workflow but feels limited for a full Pinboard MCP.

Completeness2/5

The Pinboard domain normally includes listing, updating, deleting, and searching bookmarks and tags. With only save_bookmark, users can create bookmarks but not retrieve or manage them, creating significant dead ends.

Maintenance

ActivitySlowing
ResponsivenessNo issues