Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity: delete, draft, get, list, publish, and update are all specific actions targeting Velog posts. The descriptions reinforce this by specifying when to use each tool (e.g., velog_publish_post after velog_draft_post).

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with 'velog_' prefix and snake_case: velog_delete_post, velog_draft_post, velog_get_post, velog_list_posts, velog_publish_post, velog_update_post. There are no deviations in naming style.

    Tool Count5/5

    With 6 tools, this server is well-scoped for managing Velog posts. Each tool earns its place by covering essential CRUD and lifecycle operations (drafting and publishing), avoiding both bloat and thin coverage.

    Completeness5/5

    The tool set provides complete CRUD and lifecycle coverage for Velog posts: create (via draft and publish), read (get and list), update, and delete. There are no obvious gaps, and the workflow from drafting to publishing is explicitly supported.

  • Average 3.1/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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. '삭제합니다' implies a destructive mutation, but it doesn't disclose whether this is permanent, requires specific permissions, affects related data, or has rate limits. For a destructive operation with zero annotation coverage, this is inadequate behavioral disclosure.

    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 directly states the tool's purpose with zero waste. It's appropriately sized for a simple deletion 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.

    Completeness2/5

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

    For a destructive mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after deletion (e.g., success confirmation, error handling), whether the action is reversible, or any side effects. Given the complexity and lack of structured data, more context is needed.

    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%, with the single parameter 'post_id' clearly documented as '삭제할 포스트 ID' (post ID to delete). The description doesn't add any additional parameter context beyond what the schema provides, which is acceptable given the high coverage. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 ('삭제합니다' - deletes) and resource ('Velog 포스트' - Velog post), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like velog_update_post or velog_publish_post, which also operate on Velog posts but with different actions.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing to own the post), when deletion is appropriate versus updating, or what happens after deletion. With siblings like velog_update_post and velog_publish_post available, this gap is significant.

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

  • 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. It states it retrieves '전체 내용' (entire content) which implies a read operation, but doesn't specify whether authentication is required, rate limits, error conditions, or what format/content is returned. For a read tool with zero annotation coverage, this leaves significant behavioral gaps.

    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 directly states the tool's purpose without any unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the essential information. Every word earns its place.

    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 no annotations, no output schema, and a simple single-parameter tool, the description is incomplete. While it states what the tool does, it doesn't provide enough context about authentication requirements, return format, error handling, or how it differs from sibling tools. For a tool that retrieves content, the agent needs more information about what 'entire content' includes and any access constraints.

    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% description coverage with a clear parameter description ('포스트 URL slug'). The description adds no additional parameter information beyond what the schema already provides. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

    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/retrieves) and resource ('특정 Velog 포스트의 전체 내용' - entire content of a specific Velog post). It distinguishes from siblings like velog_list_posts (list vs get specific) and velog_update_post (update vs retrieve). However, it doesn't explicitly differentiate from velog_draft_post or velog_publish_post in terms of content access.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when you'd use velog_get_post instead of velog_list_posts (specific post vs listing), nor does it indicate any prerequisites like authentication requirements or when this tool should not be used. The agent must infer usage from the name alone.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose aspects like authentication needs, rate limits, pagination behavior, or whether it returns all posts or a subset, which are critical for a list operation.

    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 in Korean that directly states the purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

    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 no annotations and no output schema, the description is incomplete. It lacks details on return values (e.g., post format, metadata), behavioral traits, and differentiation from siblings, which are essential for effective tool use in this context.

    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 input schema fully documents the 'limit' parameter with its type and default. The description adds no additional parameter semantics beyond what the schema provides, meeting the baseline for high coverage.

    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/gets) and resource ('내 Velog 포스트 목록' - my Velog post list), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'velog_get_post' which might fetch a single post, leaving some ambiguity about scope.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives is provided. The description implies it's for listing posts, but it doesn't specify scenarios (e.g., browsing vs. detailed retrieval) or mention sibling tools like 'velog_get_post' for individual posts, leaving usage context unclear.

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

  • 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 '수정합니다' implies a mutation operation, it doesn't specify whether this requires authentication, what happens to unchanged fields, whether changes are reversible, or what the response looks like. For a mutation tool with zero annotation coverage, this is insufficient.

    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 states the core functionality without any wasted words. It's appropriately sized for a straightforward update operation and gets directly to the point.

    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?

    For a mutation tool with 6 parameters and no annotations or output schema, the description is inadequate. It doesn't explain what happens when fields are omitted, whether partial updates are supported, what authentication is required, or what the tool returns. The agent lacks crucial context for proper invocation.

    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 schema description coverage is 100%, with all 6 parameters clearly documented in the input schema. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline expectation but doesn't provide extra value.

    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 ('수정합니다' - modifies/updates) and resource ('기존 Velog 포스트' - existing Velog post), making the purpose immediately understandable. However, it doesn't differentiate from siblings like velog_draft_post or velog_publish_post, which also involve post modifications.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (like needing an existing post ID), nor does it clarify differences from velog_publish_post or velog_draft_post, leaving the agent to guess about appropriate usage contexts.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the draft is saved to session memory and returns a draft_id for review, which is useful. However, it lacks critical details: it doesn't specify if this is a read-only or mutation operation (implied mutation but not explicit), doesn't mention authentication requirements, rate limits, or what happens to the draft after saving (e.g., expiration, storage duration). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

    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 concise and front-loaded: it states the core action in the first sentence and the key outcome in the second. Every sentence earns its place by explaining what the tool does and why, with no redundant or vague language. It's appropriately sized for the tool's complexity, making it easy to understand quickly.

    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 the tool's moderate complexity (5 parameters, no output schema, no annotations), the description provides a basic but incomplete picture. It covers the purpose and high-level usage context but lacks behavioral details like mutation effects, authentication, or error handling. Without annotations or an output schema, the description should do more to explain the return value (draft_id usage) and operational constraints. It's minimally viable 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.

    Parameters3/5

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

    The schema description coverage is 100%, with all parameters well-documented in the input schema (e.g., title, body, tags, is_private, short_description). The description doesn't add any parameter-specific information beyond what's in the schema, such as format details or usage examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to since the schema handles parameter semantics adequately.

    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 tool's purpose: 'Velog 포스트 초안을 세션 메모리에 저장합니다' (saves a Velog post draft to session memory). It specifies the action (save to session memory) and resource (Velog post draft), distinguishing it from siblings like velog_publish_post (which publishes) or velog_update_post (which modifies existing posts). However, it doesn't explicitly differentiate from velog_update_post in terms of draft vs. published post editing, which could be clearer.

    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: '발행 전 사용자가 검토할 수 있도록' (so users can review before publishing), suggesting this tool is for creating drafts prior to publication. However, it doesn't explicitly state when to use this vs. alternatives like velog_publish_post (direct publishing) or velog_update_post (editing existing posts), nor does it mention prerequisites or exclusions. The guidance is present but not comprehensive.

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

  • 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 mentions that is_private parameter '덮어씀' (overwrites) draft settings, it doesn't describe what publishing entails (e.g., makes content publicly visible, triggers notifications), potential side effects, authentication requirements, or error conditions. For a mutation tool with zero annotation coverage, this is insufficient.

    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 extremely concise with just two sentences in Korean. The first sentence states the core purpose, and the second provides crucial usage guidance. Every word earns its place with zero wasted text, making it front-loaded and efficient.

    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 this is a mutation tool with no annotations and no output schema, the description should do more to explain behavioral aspects. While it covers basic purpose and workflow prerequisites adequately, it lacks information about what publishing actually does, potential consequences, or what the tool returns. The completeness is minimal but not entirely inadequate.

    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 schema already documents both parameters thoroughly. The description adds minimal value beyond the schema - it only reinforces that draft_id comes from velog_draft_post (already in schema) and mentions that is_private overwrites draft settings (slightly helpful context). Baseline 3 is appropriate when schema does the heavy lifting.

    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 ('발행합니다' - publishes) and the resource ('초안' - draft), specifying it's for Velog. It distinguishes from siblings like velog_draft_post by indicating this tool publishes rather than creates drafts. However, it doesn't explicitly differentiate from velog_update_post which might also involve publishing changes.

    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 provides clear context about when to use this tool ('velog_draft_post 호출 후 사용하세요' - use after calling velog_draft_post), establishing a prerequisite workflow. It doesn't explicitly state when NOT to use it or name alternatives, but the sibling relationship is implied through the naming convention.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

velog_mcp MCP server

Copy to your README.md:

Score Badge

velog_mcp MCP server

Copy to your README.md:

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/seongwon030/velog_mcp'

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