pplog MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pplog MCP Serversearch poems about cherry blossoms"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pplog MCP Server
日本語 | 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/nodeはwhich nodeで調べたパスに置き換えてください。
リンク
pplog - ポエム共有サービス pplog
Model Context Protocol - MCP の詳細
Claude Desktop - MCP 対応の AI アシスタント
サポート
🐛 Issues: GitHub Issues
Made with ❤️ by the esa team
Available Tools
3 toolscreate-poemCreate PoemADestructive
Creates a pplog poem: a casual short note (not literary verse). Posting hides your previous poem from other readers.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Poem content (first line is title, rest is body) |
TDQS
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.
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.
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.
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.
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.
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 PoemARead-only
Retrieves a poem from pplog by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Poem ID |
TDQS
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.
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.
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.
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.
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.
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 PoemsARead-only
Searches for poems in pplog with advanced query syntax support.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | Search 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. | |
| page | No | Page number (starting from 1). If omitted, retrieves the first page. |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v0.4.1- First observed
create-poem - First observed
get-poem - First observed
search-poems
TDQS
Each tool has a clearly distinct purpose: create a poem, retrieve by ID, and search. No overlap.
Pattern is verb_noun with hyphens (create-poem, get-poem, search-poems), though 'poems' is plural for search while others use singular.
Three tools is borderline minimal for a typical CRUD surface, but may be appropriate if the domain is intentionally limited.
Missing update and delete operations; no way to modify or remove poems. Also lacks a list-all endpoint, forcing reliance on search.
Maintenance
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
Your portable context layer — load it into any AI.
Persistent memory for AI agents — log and recall conversation context over MCP.
Connect AI agents to Replynodes over the Model Context Protocol.
Shared, versioned context that humans and AI agents can publish, review, annotate, and continue.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEmpowers AI assistants with real-world capabilities including note management, Gmail integration, Google Calendar and Tasks management, and Git repository operations through the Model Context Protocol.12MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Limitless AI Pendant recordings, search, retrieve, and analyze lifelogs via the Model Context Protocol.2114MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to publish articles, search content, and manage accounts on the PasIT publishing platform through the Model Context Protocol.MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to publish blog posts directly to Dev.to via the Model Context Protocol.11-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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