Skip to main content
Glama
kazuph
by kazuph

MCP Pocket

This is a connector to allow Claude Desktop (or any MCP client) to fetch your saved articles from Pocket API.

Prerequisites

Related MCP server: Notion MCP

Quick Start

  1. Modify your Claude Desktop config located here: ~/Library/Application\ Support/Claude/claude_desktop_config.json

You can easily find this through the Claude Desktop menu:

  1. Open Claude Desktop

  2. Click Claude on the Mac menu bar

  3. Click "Settings"

  4. Click "Developer"

If you don't have this config, you can create an empty file at this location.

Add the following to the config file, replacing the credentials with your own:

{
  "mcpServers": {
    "pocket": {
      "command": "npx",
      "args": ["-y", "@kazuph/mcp-pocket"],
      "env": {
        "POCKET_CONSUMER_KEY": "your-pocket-consumer-key",
        "POCKET_ACCESS_TOKEN": "your-pocket-access-token"
      }
    }
  }
}

Development Setup

  1. Clone this repository and install dependencies:

git clone https://github.com/kazuph/mcp-pocket.git
cd mcp-pocket
npm install
  1. For development, use this configuration instead:

{
  "mcpServers": {
    "pocket": {
      "command": "npx",
      "args": ["tsx", "/path/to/mcp-pocket/index.ts"],
      "env": {
        "POCKET_CONSUMER_KEY": "your-pocket-consumer-key",
        "POCKET_ACCESS_TOKEN": "your-pocket-access-token"
      }
    }
  }
}

Development Commands

# Build TypeScript
npm run build

# Watch mode for development
npm run watch

# Publish to npm
npm login
npm publish

Available Commands

The following MCP tools will be available in Claude Desktop:

  • pocket_get_articles: Fetch your saved articles from Pocket API. Returns title, URL, and excerpt for each article.

  • pocket_mark_as_read: Mark a specific article as read (archived) in your Pocket account using its item ID.

Getting Pocket API Credentials

For detailed instructions on obtaining your Pocket API credentials, please refer to Issue #2.

Quick steps:

  1. Create a new app at Pocket Developer Portal

  2. Follow the authentication process to get your Consumer Key and Access Token

License

MIT

Available Tools

2 tools
pocket_get_articlesA

Fetches the latest unread articles from Pocket API. Returns up to 20 articles by default. You can specify the number of articles to fetch (1-20) using the count parameter. Returns the article ID, title, URL, and excerpt for each article.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it's a read operation (implied by 'fetches'), returns up to 20 articles by default, and specifies the return format. However, it lacks details on authentication needs, rate limits, or error handling.

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 efficiently structured with three sentences: the first states the purpose, the second explains the parameter, and the third details the return format. Each sentence adds essential information without redundancy.

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?

Given no annotations and no output schema, the description provides adequate coverage for a simple read tool. It explains the parameter and return format, but could be more complete by addressing authentication or error scenarios, which are common for API tools.

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 description adds significant meaning beyond the input schema, which has 0% description coverage. It explains the 'count' parameter's purpose (number of articles to fetch), range (1-20), and default value (20), compensating well for the schema's lack of documentation.

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?

The description clearly states the action ('fetches') and resource ('latest unread articles from Pocket API'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'pocket_mark_as_read' beyond the different action verbs.

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?

The description implies usage context by specifying it fetches 'latest unread articles,' suggesting this is for retrieving new content rather than managing read status. However, it doesn't provide explicit guidance on when to use this versus the sibling tool or any alternatives.

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

pocket_mark_as_readA

Marks a specific Pocket article as read (archived) using its item ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYes

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While it indicates this is a mutation operation ('marks as read'), it doesn't specify whether this requires authentication, what happens to the article after archival, if the action is reversible, or any rate limits. The description provides minimal behavioral context beyond the basic action.

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 a single, efficient sentence that communicates the core purpose without any unnecessary words. It's appropriately sized for a single-parameter tool and front-loads the essential information.

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?

For a mutation tool with no annotations and no output schema, the description provides basic purpose but lacks important context about authentication requirements, error conditions, return values, or what 'archived' means operationally. It's minimally adequate but has clear gaps for a tool that modifies data.

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?

With 0% schema description coverage and only one parameter, the description adds significant value by explaining that 'itemId' refers to a 'Pocket article' identifier. This clarifies what the parameter represents beyond just being a string, though it doesn't provide format details or examples.

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 specific action ('marks as read'), the resource ('Pocket article'), and the mechanism ('using its item ID'). It distinguishes this tool from its sibling 'pocket_get_articles' by specifying it performs an archival action rather than retrieval.

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?

The description implies usage context by mentioning 'item ID', suggesting this tool should be used when you have a specific article ID from Pocket. However, it doesn't explicitly state when to use this vs. alternatives or provide any exclusion criteria.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedpocket_get_articles
    • First observedpocket_mark_as_read

TDQS

A3.6/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one fetches unread articles, while the other marks articles as read. There is no overlap in functionality, making it easy for an agent to select the correct tool based on the desired action.

Naming Consistency5/5

Both tools follow a consistent 'pocket_verb_noun' pattern, using snake_case and starting with the server domain prefix. This predictability aids in tool identification and usage.

Tool Count2/5

With only two tools, the server feels thin for a Pocket API integration. While it covers fetching and marking articles, it lacks operations like adding articles, managing tags, or retrieving read articles, which are core to the Pocket domain.

Completeness2/5

The toolset is severely incomplete for a Pocket API server. It misses essential operations such as adding articles to Pocket, retrieving read articles, managing tags, and deleting articles, leaving significant gaps that will hinder agent workflows.

Maintenance

ActivityInactive
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

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/kazuph/mcp-pocket'

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