Skip to main content
Glama
zeikar
by zeikar

KiMCP (Korea-integrated Model Context Protocol)

License: MIT

KiMCP는 Model Context Protocol (MCP)를 활용하여 네이버, 카카오, TMAP과 같은 국내 API들을 LLM 애플리케이션에서 사용할 수 있는 MCP 서버입니다.

Features

  • 네이버 블로그 검색: 네이버에서 블로그 콘텐츠 검색

  • 네이버 뉴스 검색: 네이버에서 뉴스 기사 검색

  • 네이버 카페 검색: 네이버 카페 커뮤니티에서 게시물 검색

  • 네이버 지식iN 검색: 네이버 지식iN에서 Q&A 게시물 검색

  • 네이버 지역 검색: 지역 업체 및 장소 정보 검색

  • 네이버 이미지 검색: 네이버에서 이미지 검색

  • 네이버 쇼핑 검색: 네이버 쇼핑에서 상품 검색 및 가격 비교

  • 다음 블로그 검색: 다음 블로그에서 블로그 콘텐츠 검색

  • 다음 카페 검색: 다음 카페에서 게시물 검색

  • 카카오맵 검색: 카카오맵에서 장소 및 업체 정보 검색

  • 자동차 길찾기: 카카오맵을 사용하여 자동차 길찾기 정보 제공

  • 대중교통 길찾기: TMAP을 사용하여 대중교통 길찾기 정보 제공

현재 개발 중...

Related MCP server: Naver Search MCP Server

Prerequisites

Installation

  1. 저장소 복제

    git clone https://github.com/zeikar/kimcp
    cd kimcp
  2. Python 의존성 설치

    uv sync
  3. 환경 변수 설정

    프로젝트 루트에 제공된 .env.example 파일을 참고하여 .env 파일을 생성하세요:

    # .env.example 파일을 .env로 복사
    cp .env.example .env
    
    # 생성된 .env 파일 편집
    vi .env   # 또는 원하는 텍스트 에디터 사용

    .env 파일에 다음과 같이 API 키를 입력하세요:

    NAVER_CLIENT_ID=your_naver_client_id
    NAVER_CLIENT_SECRET=your_naver_client_secret
    KAKAO_REST_API_KEY=your_kakao_rest_api_key
    SK_APP_KEY=your_sk_app_key

    참고:

    • 네이버 API 키는 네이버 개발자 센터에서 발급 받을 수 있습니다.

    • 카카오 API 키는 카카오 Developers에서 발급 받을 수 있습니다.

    • TMAP (SK Open API) 키는 SK Open API에서 발급 받을 수 있습니다.

    • 필요한 API만 사용하는 경우, 해당 API 키만 설정해도 됩니다.

      • API 키를 입력하지 않으면 해당 MCP 도구가 자동으로 비활성화됩니다. 예를 들어, 네이버 API 키만 입력하고 카카오 API 키를 입력하지 않으면 네이버 관련 도구만 사용 가능합니다.

  4. Claude Desktop에 설치

    uv run mcp install main.py -f .env
  5. 변경 사항을 적용하려면 Claude Desktop 재시작

Development

테스트 및 개발을 위한 MCP inspector 실행:

uv run mcp dev main.py

Roadmap

  • ✅ 네이버 API 통합

  • ✅ 카카오 API 통합

  • ✅ SK Open API 통합

  • ⬜ 기상청(KMA) 통합

  • 기타 등등

License

이 프로젝트는 MIT 라이센스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.

Acknowledgements

Available Tools

1 tool
get_webpage_contentA
Fetch the full content of a webpage.
This function retrieves the content of a webpage and removes HTML tags.

Args:
    link (str): The URL of the webpage to fetch.

Returns:
    str: The full content of the webpage with HTML tags removed.
ParametersJSON Schema
NameRequiredDescriptionDefault
linkYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It does add behavioral context by explicitly stating that HTML tags are removed and that the return value is a string. However, it does not disclose behavior around redirects, encoding, errors, or non-HTML content, which are relevant for a web-fetching tool.

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 short and uses a clear Args/Returns structure, but it is redundant: 'Fetch the full content of a webpage' and 'retrieves the content of a webpage and removes HTML tags' largely repeat the same idea. This redundancy and the repetition in the Returns section prevent a higher score.

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 one-parameter tool with no output schema, the description covers purpose, parameter meaning, and return value sufficiently. It does not describe potential failures or limitations, but none are critical for basic invocation.

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 only labels the parameter as 'Link' with no description, so the description must supply meaning. It does so by stating link is 'The URL of the webpage to fetch,' which is sufficient for this single-parameter tool, though it omits details like expected URL formats.

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 fetches webpage content and removes HTML tags. It uses specific verbs ('Fetch', 'retrieves') and a clear resource ('content of a webpage'), leaving no ambiguity about what the tool does.

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?

There are no sibling tools listed, so no explicit alternatives or when-not-to-use guidance is possible. Usage context is implied by the description and function name, but the description does not clarify edge cases like pages requiring authentication or JavaScript rendering.

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 observedget_webpage_content

TDQS

A3.8/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of overlap or confusion between tools. The single tool has a clear, specific purpose.

Naming Consistency4/5

The tool name follows a clear verb_noun pattern and is descriptive. However, with only one tool, there is not enough surface area to fully demonstrate naming consistency across a set.

Tool Count2/5

A single tool feels too thin for a general-purpose server, even for a focused web-fetching utility. There is no room for alternative operations or related functionality.

Completeness4/5

For the stated purpose of fetching and stripping HTML from a webpage, the tool fully covers the core use case. Minor gaps exist, such as handling raw HTML or additional page metadata, but these are not obvious dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides access to Naver Search APIs, allowing AI agents to search across multiple categories (blogs, news, books, images, shopping items, etc.) with structured responses optimized for LLM consumption.
    13
    4
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    Connects to Kakao Local API and Kakao Maps, enabling access to location-based services and map functionality in Korea.
    4
    MIT