Skip to main content
Glama

velog-mcp

npm version License: MIT MCPAmpel

Velog 블로그 플랫폼용 MCP(Model Context Protocol) 서버입니다.

AI 어시스턴트를 통해 Velog 글을 읽고, 검색하고, 작성할 수 있습니다.

참고: 이 프로젝트는 Velog의 비공식 GraphQL API를 사용합니다. Velog의 공식 프로젝트가 아닙니다.

주요 기능

  • 글 조회 — 사용자의 글 목록, 상세 내용 조회

  • 글 검색 — 키워드 기반 글 검색

  • 트렌딩 — 인기 글 조회 (일간/주간/월간)

  • 글 작성/수정/삭제 — 마크다운 글 작성 및 관리

  • 시리즈/프로필 — 시리즈 목록, 사용자 프로필 조회

  • 간편 로그인 — Chrome 쿠키 자동 추출로 별도 설정 없이 인증

Related MCP server: velog-mcp

빠른 시작

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "velog": {
      "command": "npx",
      "args": ["-y", "velog-mcp"]
    }
  }
}

Claude Code

claude mcp add velog -- npx -y velog-mcp

Cursor / Windsurf

MCP 설정에 동일하게 추가:

{
  "mcpServers": {
    "velog": {
      "command": "npx",
      "args": ["-y", "velog-mcp"]
    }
  }
}

읽기 전용으로 사용할 경우 추가 설정 없이 바로 사용 가능합니다.

도구 목록

인증 불필요

도구

설명

주요 파라미터

get_user_posts

사용자의 글 목록 조회

username, cursor?, limit?

read_post

글 상세 조회 (본문, 댓글 포함)

username, url_slug

get_trending_posts

트렌딩 글 조회

offset?, limit?, timeframe?

search_posts

키워드로 글 검색

keyword, offset?, limit?, username?

get_user_profile

사용자 프로필 조회

username

get_series_list

사용자의 시리즈 목록 조회

username

인증 필요

도구

설명

주요 파라미터

login

Chrome 쿠키에서 토큰 자동 추출

write_post

새 글 작성

title, body, tags?, is_private?, url_slug?, series_id?

edit_post

기존 글 수정

id, title?, body?, tags?, is_private?

delete_post

글 삭제

id

인증

방법 1: 자동 로그인 (권장)

login 도구를 호출하면:

  1. Chrome에 이미 Velog 로그인이 되어 있으면 → 쿠키를 자동으로 읽어 즉시 완료

  2. 로그인이 안 되어 있으면 → 기존 Chrome에 새 탭으로 velog.io를 열어줌 → 로그인 후 자동 추출

추출된 토큰은 ~/.velog-mcp/tokens.json에 저장되어 다음 실행 시 자동으로 불러옵니다.

방법 2: 환경변수

{
  "mcpServers": {
    "velog": {
      "command": "npx",
      "args": ["-y", "velog-mcp"],
      "env": {
        "VELOG_ACCESS_TOKEN": "your_access_token",
        "VELOG_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

토큰 확인: velog.io > 개발자 도구 (F12) > Application > Cookies > access_token / refresh_token

토큰 우선순위

환경변수 > 저장 파일 (~/.velog-mcp/tokens.json) > 미인증 (읽기 전용)

토큰 만료

토큰

유효 기간

access_token

1시간

refresh_token

30일

만료 시 login 도구를 다시 호출해주세요.

사용 예시

"이번 주 velog 트렌딩 글 보여줘"
"velopert의 최근 글 목록 알려줘"
"velog에 '오늘의 TIL'이라는 제목으로 글 써줘"
"velog에서 TypeScript 관련 글 검색해줘"

플랫폼 지원

기능

macOS

Windows

Linux

읽기 (조회, 검색, 트렌딩)

O

O

O

쓰기 (환경변수 인증)

O

O

O

자동 로그인 (login 도구)

O

O

O

자동 로그인은 Chrome 브라우저가 필요합니다. Windows에서는 sqlite3도 PATH에 설치되어 있어야 합니다.

개발

git clone https://github.com/stoneHee99/velog-mcp.git
cd velog-mcp
npm install
npm run build

주의사항

  • Velog의 비공식 GraphQL API를 사용하며, API 변경 시 동작하지 않을 수 있습니다.

  • 이 프로젝트는 Velog와 무관한 커뮤니티 프로젝트입니다.

  • 과도한 API 호출은 자제해주세요.

라이선스

MIT

Available Tools

10 tools
delete_postB

Delete a post on Velog (requires authentication)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID to delete

TDQS

B3.4/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 the full burden. It mentions authentication but does not disclose that deletion is permanent, irreversible, or what effects it has (e.g., removing associated comments). For a destructive operation, this is a significant gap. It doesn't contradict annotations, but it under-discloses.

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 one concise sentence that states the verb, resource, and a key prerequisite. No filler or redundant 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?

With no output schema and no annotations, the description should explain what happens after deletion (e.g., success response, no content). It doesn't. The tool is simple, but the absence of return-value info and behavioral caveats makes it incomplete for an agent.

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 full coverage for the single 'id' parameter ('Post ID to delete'). The description adds no parameter syntax or format details, but the baseline is 3 due to high schema coverage.

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 uses the specific verb 'Delete' with the resource 'a post on Velog', clearly distinguishing it from sibling tools like edit_post and write_post. The authentication note adds context. It fully specifies the tool's action.

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 gives no explicit when-to-use guidance or alternatives. The auth requirement provides some context, but it doesn't state when to prefer this over edit_post or other tools. Usage is only implied by the tool name and verb.

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

edit_postB

Edit an existing post on Velog (requires authentication)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID to edit
bodyNoNew body (markdown)
tagsNoNew tags
titleNoNew title
url_slugNoNew URL slug
series_idNoSeries ID
is_privateNoWhether the post is private

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only discloses the authentication requirement, but fails to mention partial update semantics, error handling, idempotency, or return values. 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 conveys the core purpose and a key requirement. No wasted words, appropriately sized.

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?

Despite 7 parameters and no output schema, the description gives only a one-line summary. It does not address the update model (partial vs. full), behavior for non-existent posts, or response details. For a mutation tool with no annotations, this is a gap.

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?

All 7 parameters are documented in the schema with descriptions (100% coverage), so the description does not need to add parameter semantics. It doesn't clarify whether fields are optional or how partial updates work, but the schema already provides names and descriptions, so a baseline score of 3 is appropriate.

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 ('edit'), the resource ('existing post'), and platform ('Velog'), and distinguishes it from sibling create/delete/write tools. The verb 'edit' unambiguously signals a modification operation.

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 provides the context (editing an existing post) and a prerequisite (authentication) but does not explicitly state when not to use it or name alternatives like write_post or delete_post. Usage is implied rather than explicit.

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

get_series_listB

Get a user's series list on Velog

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesVelog username

TDQS

B3.3/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 the full burden of behavioral disclosure. It implies a read operation but does not mention pagination, ordering, authentication, or what the returned series list contains, leaving significant 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, concise sentence that front-loads the core purpose. It contains no redundant information and earns its place.

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?

The tool is simple (one required parameter, no output schema), and the description covers the basic purpose. However, it lacks any detail on the return format or behavior beyond the schema, making it minimally viable but not comprehensive.

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 the username parameter already described as 'Velog username'. The description adds no extra parameter meaning, but the schema handles it adequately, warranting the baseline score of 3.

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 'Get a user's series list on Velog' clearly states the action (get), the resource (series list), and the scope (a user's), distinguishing it from sibling tools like get_user_posts and get_user_profile.

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 such as get_user_posts or get_user_profile. It simply states what it does without context or exclusions.

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

get_user_postsA

Get a list of posts by a Velog user

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of posts to fetch
cursorNoCursor for pagination (post ID)
usernameYesVelog username

TDQS

A3.5/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 the full burden. It only states what is retrieved, but fails to mention pagination behavior (cursor/limit), ordering, or any caveats like whether drafts are included. This lack of behavioral detail is a notable gap for a tool with pagination.

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, clear sentence with no wasted words. It is front-loaded with the verb and resource.

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?

The tool is relatively simple, but the description omits how pagination works, what the response structure looks like (no output schema), and any error conditions. Given the presence of cursor and limit parameters, the description is somewhat incomplete for an agent to use it fully without further investigation.

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 all three parameters. The description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.

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 uses a specific verb ('Get') and resource ('list of posts') with an explicit scope ('by a Velog user'), distinguishing it clearly from siblings like get_trending_posts, search_posts, and read_post.

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: use this to retrieve a specific user's posts. However, it does not explicitly contrast with alternatives such as search_posts or get_trending_posts, nor mention when not to use it.

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

get_user_profileA

Get a Velog user's profile information

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesVelog username

TDQS

A3.8/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 signals a read-only operation via 'Get', but does not disclose return value structure, error behavior, or whether authentication is required. This is a minimal disclosure that does not contradict any annotations.

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 sentence, front-loaded with the action and resource, and contains no extraneous words. It is as concise as possible while conveying the core purpose.

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 single-parameter retrieval tool, the description adequately conveys the purpose. However, given the absence of an output schema or annotations, it would be improved by hinting at what 'profile information' includes or error scenarios. Still, it is sufficiently complete for the tool's simplicity.

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 already provides full coverage for the single 'username' parameter with the description 'Velog username'. The tool description adds no additional parameter context beyond that, so the baseline score of 3 is appropriate.

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 uses the specific verb 'Get' and identifies the resource as 'Velog user's profile information', which clearly distinguishes this tool from sibling tools like get_user_posts and get_series_list that target different data types.

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 provides no explicit guidance on when to use this tool versus alternatives, but the name and description imply it is for retrieving profile information. The intended use is clear from context, yet no exclusions or alternative mentions are given.

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

loginB

Open a browser to log in to Velog and save authentication tokens

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided. The description discloses the browser launch and token saving, but omits potential side effects: it may require interactive user input, may block, or may need to be done once. There's no mention of what happens if already authenticated.

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?

A single, direct sentence conveys the action and purpose without redundancy. It is front-loaded and efficient.

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?

The tool has no annotations, no output schema, and no parameters; the description is the sole documentation. It fails to explain how the saved tokens are stored, how they are used by sibling tools, or any prerequisites (e.g., network, credentials). This is insufficient for an agent to know when and why to invoke it.

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 input schema has zero parameters, so description needs no parameter details. Baseline 4 applies because the schema is fully clear.

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 uses a specific verb ('Open a browser to log in') and identifies the resource (Velog) and outcome (save tokens). It clearly distinguishes from siblings, which are all content operations, not authentication.

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 on when to use this tool versus others. It doesn't state that login must precede authenticated operations like write_post or edit_post, nor does it mention any alternative authentication methods.

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

read_postA

Read a specific Velog post with full content, comments, and metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
url_slugYesPost URL slug
usernameYesVelog username

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the operation is a read and describes the output content (full content, comments, metadata). It does not mention potential errors, auth requirements, or non-mutation explicitly, but the verb 'Read' implies safety and the output details are valuable.

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?

A single sentence that front-loads the action ('Read a specific Velog post') and then lists the returned data. No wasted words or redundant information.

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?

The description is sufficient for a simple read tool with a clear schema and no output schema. It tells the user what they will get (full content, comments, metadata). It could mention edge cases like nonexistent posts, but for the given complexity, this is complete enough.

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 already describes both parameters (username, url_slug) with 100% coverage. The description adds no extra parameter semantics beyond what the schema provides, meeting the baseline.

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 tool reads a specific Velog post, specifying that it returns full content, comments, and metadata. This distinguishes it from sibling tools like get_user_posts or search_posts, which focus on listing or searching rather than retrieving a single post.

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 implies the intended use case: when you need the complete details of one specific post (using username and url_slug). It clearly differentiates from listing/searching tools but does not explicitly mention alternatives or exclusions, so it stops short of a 5.

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

search_postsA

Search for posts on Velog by keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoOffset for pagination
keywordYesSearch keyword
usernameNoFilter by username

TDQS

A3.7/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 the full burden of behavioral disclosure. It only states the basic action without mentioning pagination behavior, return format, authentication requirements, or any constraints beyond the schema fields. This is a minimal description that leaves key behavioral aspects unexplored.

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 with no redundant words. It efficiently communicates the tool's core function.

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?

The tool is relatively simple, and the schema provides all parameter details. However, with no annotations and no output schema, the description leaves uncertainty about return values and usage nuances in relation to sibling tools. It is adequate but not complete.

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 mentions 'by keyword', which reinforces the keyword parameter but adds no new meaning beyond the schema's own descriptions for limit, offset, and username.

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 a specific verb ('Search'), a resource ('posts'), and a platform ('Velog') with the search scope ('by keyword'). It distinguishes itself from sibling tools like get_user_posts and read_post, which have different purposes.

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 for when to use the tool: when searching for posts by keyword. It does not explicitly mention alternatives or exclusions, but the context is clear enough for the agent to infer its primary use case.

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

write_postA

Create a new post on Velog (requires authentication)

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesPost body (markdown)
tagsNoTags for the post
titleYesPost title
url_slugNoCustom URL slug
series_idNoSeries ID to add the post to
is_privateNoWhether the post is private

TDQS

A3.6/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 the full burden. It discloses that the operation creates a post and requires authentication, but omits any details about the response format, required auth state, side effects on related resources (e.g., series), or error 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 a single, front-loaded sentence that conveys the operation and a key precondition (authentication). It contains no filler or redundant 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?

With no output schema and no annotations, the description must explain return values and behavioral outcomes, but it only states the action and auth requirement. It does not mention what the tool returns (e.g., created post object), failure modes, or how authentication is supplied.

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%, and each parameter (title, body, tags, url_slug, series_id, is_private) is described in the schema. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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?

Description starts with 'Create a new post on Velog', a specific verb+resource pair that clearly identifies the operation. The phrase 'new post' distinguishes it from sibling tools like edit_post, delete_post, and read_post.

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 clearly implies when to use the tool: when creating a new post, and the sibling set (edit_post, delete_post, search_posts) makes the creation context obvious. It does not explicitly name alternatives or exclusions, but 'new post' provides clear context.

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. 10 tool updatesv0.2.2
    • First observeddelete_post
    • First observededit_post
    • First observedget_series_list
    • First observedget_trending_posts
    • First observedget_user_posts
    • First observedget_user_profile
    • First observedlogin
    • First observedread_post
    • First observedsearch_posts
    • First observedwrite_post

TDQS

A3.7/5.0
Disambiguation5/5

Each tool serves a distinct purpose: authentication, listing user posts, reading a single post, trending, profile, series, search, and post CRUD operations. No two tools have overlapping responsibilities.

Naming Consistency5/5

All tool names use consistent snake_case with a verb-first pattern (get_*, read_*, write_*, edit_*, delete_*, login, search_*). This creates a predictable and uniform naming convention.

Tool Count5/5

With 10 tools, the set is well-scoped for a blogging platform API. Each tool covers a core action, and the count is neither too sparse nor overwhelming.

Completeness4/5

The tool set covers the full lifecycle of posts (create, read, update, delete), user and series listing, search, and trending. Minor gaps like commenting or series management exist, but they are not essential to the primary use case.

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/stoneHee99/velog-mcp'

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