Skip to main content
Glama

DevLog MCP

Dies ist ein stdio-MCP-Server, der von KI-Codierungsagenten wie Codex und Claude Code erstellte Entwicklungstagebücher in einer bestehenden Notion Blog-Datenbank veröffentlicht. Der Agent ist für die Reflexion und das Verfassen des Inhalts verantwortlich, während dieser Server nur die Eingabevalidierung und die Notion-Speicherung übernimmt.

Anforderungen

  • Node.js 20 oder höher

  • Bestehende Notion Blog-Datenbank

  • Mit der Datenbank verbundene Notion-Integration

Related MCP server: Notion MCP Server

Installation und Build

npm install
npm test
npm run build

Wenn Sie während der Entwicklung direkt ausführen, setzen Sie die Umgebungsvariablen in der aktuellen Shell. Dieses Projekt liest .env-Dateien nicht automatisch.

export NOTION_TOKEN="secret_..."
export NOTION_DATABASE_ID="..."
npm run dev

Der stdio-Server kommuniziert über JSON-RPC mit dem MCP-Client, daher werden bei der Ausführung im Terminal keine allgemeinen Hinweise ausgegeben.

Notion-Einrichtung

  1. Erstellen Sie im Bereich „Integrationen“ von Notion eine interne Integration.

  2. Verwenden Sie das Integrationstoken als NOTION_TOKEN.

  3. Fügen Sie diese Integration im Verbindungsmenü Ihrer bestehenden Blog-Datenbank hinzu.

  4. Suchen Sie die Datenbank-ID in der Datenbank-URL und verwenden Sie sie als NOTION_DATABASE_ID.

Die Eigenschaftsnamen und -typen der Datenbank müssen wie folgt sein.

Eigenschaft

Notion-Typ

Standardwert

Title

Titel

Pflichtfeld

Category

Auswahl

Entwicklung

Tags

Mehrfachauswahl

Leere Liste

PublishedAt

Datum

Aktuelles Datum

Status

Status

published

Wenn die übergebenen Namen in den Optionen für Auswahl, Mehrfachauswahl und Status der bestehenden Datenbank nicht vorhanden sind, kann die Erstellung von Optionen je nach Notion-Berechtigungen und -Einstellungen eingeschränkt sein.

MCP-Tool

Der Server stellt ein einziges Tool namens publish_dev_log bereit.

type PublishDevLogInput = {
  title: string;
  category?: string;
  tags?: string[];
  publishedAt?: string;
  status?: "published" | "draft";
  content: string;
};

Das im Textkörper unterstützte Markdown umfasst Überschriften der Stufen 1–3, Absätze, geordnete/ungeordnete Listen, Codeblöcke mit Begrenzung und Trennlinien.

Ein Beispiel für einen Aufrufeingabe ist wie folgt.

{
  "title": "DevLog MCP 첫 구현",
  "tags": ["MCP", "Notion", "TypeScript"],
  "content": "# 오늘의 작업\nNotion 발행 도구를 구현했다.\n\n## 결정\n- MCP는 저장만 담당한다.\n- 회고 작성은 코딩 에이전트가 담당한다."
}

Codex-Verbindung

Registrieren Sie zunächst das Build-Ergebnis basierend auf einem absoluten Pfad.

codex mcp add devlog-mcp \
  --env NOTION_TOKEN=secret_... \
  --env NOTION_DATABASE_ID=... \
  -- node /Users/oddd/workspace/notion/devlog-mcp/dist/index.js

Überprüfen Sie den Registrierungsstatus mit dem folgenden Befehl.

codex mcp list

Claude Code-Verbindung

Registrieren Sie es als MCP-Server auf Projektebene.

claude mcp add -s project devlog-mcp \
  -e NOTION_TOKEN=secret_... \
  -e NOTION_DATABASE_ID=... \
  -- node /Users/oddd/workspace/notion/devlog-mcp/dist/index.js

Überprüfen Sie den Registrierungsstatus mit dem folgenden Befehl.

claude mcp list

Nach der Verbindung können Sie den Agenten bitten: „Fasse die heutigen Entwicklungsinhalte in einem Tagebuch zusammen und veröffentliche sie mit publish_dev_log.“

devlog-mcp

Available Tools

1 tool
publish_dev_log개발 일지 발행B

완성된 개발 일지를 기존 Notion Blog DB에 발행합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo글 내용을 나타내는 태그
titleYes개발 일지 제목
statusNo발행 상태
contentYesMarkdown 형식의 개발 일지 본문
categoryNo카테고리. 기본값은 개발
publishedAtNo발행일. YYYY-MM-DD 형식

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action (publish to DB) without mentioning idempotency, overwriting behavior, authentication needs, error conditions, or any side effects. This is insufficient for a mutation tool.

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, front-loaded sentence that efficiently conveys the core action and target. Every word is meaningful, and there is no fluff or redundancy.

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

Completeness2/5

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

Given the lack of output schema and annotations, and the presence of 6 parameters including an enum, the description does not provide enough context. It omits return values, error behavior, status effects, and operational prerequisites, leaving the agent underinformed.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning to any parameter beyond what the schema already provides (e.g., format hints, defaults, or usage context).

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?

Description states the verb 'publishes' and the resource 'completed development log' to the 'existing Notion Blog DB'. It is clear what the tool does, but with no sibling tools, differentiation is not applicable, so it scores 4 per rubric.

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 includes '완성된' (completed), which implies the tool should be used when the development log is finished. However, it provides no explicit when-not-to-use instructions, prerequisites, or alternative tools, so guidance is only implied.

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.

  1. 1 tool updatev0.1.0
    • First observedpublish_dev_log

TDQS

B3.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion. The tool's purpose is entirely distinct by default.

Naming Consistency5/5

A single tool cannot violate any naming pattern. The name 'publish_dev_log' follows a clear verb_noun convention.

Tool Count3/5

A single tool for a server named 'DevLog MCP' feels thin. While it may serve a specific publishing need, the scope suggests more tools would be expected for full log management.

Completeness2/5

The tool only covers publishing completed logs. Missing basic operations like create, list, update, or delete dev logs, which are likely needed for a complete workflow.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers