Skip to main content
Glama
esaio

pplog MCP Server

by esaio

pplog MCP Server

License: MIT

日本語 | English

pplog の公式 MCP(Model Context Protocol)サーバー(STDIO Transport 版)

概要

AI アシスタントとポエム共有サービス pplog をつなぐ MCP サーバーです。Model Context Protocol 経由で、AI アシスタントから pplog のポエムを読んだり、検索・投稿ができます。

Related MCP server: limitless-ai-mcp-server

使えるツール

  • get-poem - ポエムを ID で取得

  • search-poems - ポエムを検索(日付絞り込み、AND/OR 検索、除外検索などに対応)

  • create-poem - 新しいポエムを投稿

MCP クライアントの設定

MCP クライアントの設定ファイルに以下を追加します:

用意する環境変数

  • PPLOG_ACCESS_TOKEN: アクセストークン

Claude Desktop の例

claude_desktop_config.json への追加方法:

オプション 1: docker(推奨)

{
  "mcpServers": {
    "pplog": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PPLOG_ACCESS_TOKEN",
        "ghcr.io/esaio/pplog-mcp-server"
      ],
      "env": {
        "PPLOG_ACCESS_TOKEN": "your_access_token"
      }
    }
  }
}

オプション 2: npx

{
  "mcpServers": {
    "pplog": {
      "command": "/Users/your-username/.nodenv/shims/npx",
      "args": ["@esaio/pplog-mcp-server"],
      "env": {
        "PPLOG_ACCESS_TOKEN": "your_access_token"
      }
    }
  }
}

注意: /path/to/your/nodewhich node で調べたパスに置き換えてください。

リンク

サポート


Made with ❤️ by the esa team

Available Tools

3 tools
create-poemCreate PoemA
Destructive

Creates a pplog poem: a casual short note (not literary verse). Posting hides your previous poem from other readers.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesPoem content (first line is title, rest is body)

TDQS

A4.5/5.0
Behavior4/5

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

Adds specific behavioral detail beyond the destructiveHint annotation: posting hides the previous poem from readers. Does not specify if author can still access it, but still provides useful context.

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?

Two sentences, no fluff. All information is relevant and front-loaded. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with one parameter and no output schema, the description fully covers purpose, parameter usage, and a key behavioral consequence. No gaps.

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?

Describes the content parameter's structure (first line is title, rest is body), adding meaning beyond the schema description. Schema coverage is 100%, so baseline 3, but the extra detail justifies 4.

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?

Clearly states it creates a poem, defines it as a casual short note, and distinguishes from sibling tools (get-poem, search-poems) by being the creation action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: use to create a poem, not to retrieve. Mentions side effect of hiding previous poem, but lacks explicit when-to-use vs alternatives, though context makes it clear.

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

get-poemGet PoemA
Read-only

Retrieves a poem from pplog by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPoem ID

TDQS

A3.7/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, and the description is consistent. However, no additional behavioral details are given (e.g., behavior if ID not found, or any constraints). Since annotations already cover the read-only nature, the description adds minimal extra transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that front-loads the purpose without extraneous words. It is concise and to the point, though it could include a bit more context about 'pplog'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only tool with one well-documented parameter, the description adequately conveys the core functionality. It does not elaborate on return values or error handling, but given the absence of an output schema and the tool's simplicity, the description is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with description 'Poem ID' for the only parameter. The description does not add further meaning or format details; thus, it meets the baseline expectation without adding extra value.

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 action 'Retrieves', the resource 'a poem', and the method 'by ID'. It effectively distinguishes from siblings: 'create-poem' is a write operation, 'search-poems' is a query, while this tool is a direct fetch by ID.

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 use when you have a specific ID, but does not provide explicit guidance on when to use this tool versus the sibling 'search-poems', nor does it mention any prerequisites or context for appropriate use.

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

search-poemsSearch PoemsA
Read-only

Searches for poems in pplog with advanced query syntax support.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNoSearch query for poems. Supports advanced search patterns: ## Important Note for Relative Date Queries: **CRITICAL: Always get today's actual date from the system before processing relative date queries (e.g., "today", "yesterday", "last week", "recent"). Convert relative terms to absolute dates for accurate searching.** ## Query Syntax: - Basic search: "keyword" for partial match, "exact phrase" for exact match - Negative search: "-keyword" to exclude - Date search: - date:2023 (year), date:2023-10 (month), date:2023-10-11 (day) - date>2023-10-01, date>=2023-10-01, date<2023-10-01, date<=2023-10-01 - before:2023-10-01, after:2023-10-01 - Logical operators: - AND (case-insensitive) or just space - OR (case-insensitive) - Grouping: (keyword1 OR keyword2) AND keyword3 Empty string returns all your poems.
pageNoPage number (starting from 1). If omitted, retrieves the first page.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description does not contradict. It adds behavioral traits such as advanced query syntax, date handling, and logical operators. However, it does not describe pagination or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy due to thorough query syntax documentation. While front-loaded with purpose, the extensive examples could be condensed without losing essential information. It is informative but not maximally concise.

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 output schema, the description lacks details about the return structure of search results. It covers input thoroughly but leaves output unspecified. For a search tool, this is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds significant meaning beyond the schema: detailed query syntax, critical note about relative dates, and empty string behavior. This greatly aids the agent in constructing correct queries.

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 verb 'Searches' and resource 'poems in pplog', and includes 'advanced query syntax support' which distinguishes it from sibling tools 'create-poem' and 'get-poem'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a critical note about relative date queries, implying when to use this tool for search. It also mentions that empty string returns all poems. However, it does not explicitly state when not to use it or compare to alternatives.

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. 3 tool updatesv0.4.1
    • First observedcreate-poem
    • First observedget-poem
    • First observedsearch-poems

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: create a poem, retrieve by ID, and search. No overlap.

Naming Consistency4/5

Pattern is verb_noun with hyphens (create-poem, get-poem, search-poems), though 'poems' is plural for search while others use singular.

Tool Count3/5

Three tools is borderline minimal for a typical CRUD surface, but may be appropriate if the domain is intentionally limited.

Completeness2/5

Missing update and delete operations; no way to modify or remove poems. Also lacks a list-all endpoint, forcing reliance on search.

Maintenance

ActivityActive
ResponsivenessNo issues

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/esaio/pplog-mcp-server'

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