Skip to main content
Glama
hyunhoonj

Youth Activity Information MCP Server

by hyunhoonj

청소년 활동 정보 MCP 서버

공공데이터포털의 청소년 활동 정보 API를 활용한 MCP (Model Context Protocol) 서버입니다.

개요

이 프로젝트는 여성가족부의 청소년 활동 정보 서비스를 MCP 프로토콜을 통해 Claude AI와 연동할 수 있도록 구현한 서버입니다. MCP SDK를 사용하여 처음부터 구현했으며, Tools, Resources, Prompts를 모두 제공합니다.

주요 기능

🔧 Tools (도구)

청소년 활동 API 도구

  1. get_sido_list - 시도(광역자치단체) 목록 조회

  2. get_sigungu_list - 시군구(기초자치단체) 목록 조회

  3. search_youth_activities - 청소년 활동 정보 검색

    • 지역별 검색 (시도, 시군구)

    • 키워드 검색

    • 페이징 지원

유틸리티 도구

  1. echo - 메시지 에코 (테스트용)

  2. get_time - 현재 시간 조회

📦 Resources (리소스)

  1. youth://info - 서버 정보

  2. youth://api-guide - API 사용 가이드

  3. youth://sido-codes - 시도 코드 참조표

💬 Prompts (프롬프트)

  1. search-guide - 청소년 활동 검색 방법 안내

  2. region-guide - 지역 코드 조회 방법 안내

빠른 설치 (권장)

Wrapper 방식으로 클론 없이 바로 설치:

# NPM으로 GitHub에서 직접 설치
npm install -g git+https://github.com/hyunhoonj/mcp-server-youth-activity.git

이 명령어로 자동으로:

  • ✅ 다운로드 및 의존성 설치

  • ✅ TypeScript 빌드

  • ✅ 전역 명령어 등록 완료

API 키 설정:

# macOS/Linux
export YOUTH_API_SERVICE_KEY="your_api_key_here"

# Windows PowerShell
$env:YOUTH_API_SERVICE_KEY="your_api_key_here"

Claude Desktop 설정:

{
  "mcpServers": {
    "youth-activity": {
      "command": "youth-activity-mcp",
      "env": {
        "YOUTH_API_SERVICE_KEY": "your_api_key_here"
      }
    }
  }
}

📖 자세한 설치 가이드: INSTALL.md


개발자를 위한 설치 (소스 빌드)

1. 저장소 클론

git clone https://github.com/hyunhoonj/mcp-server-youth-activity.git
cd mcp-server-youth-activity

2. 패키지 설치

npm install

3. API 키 발급

  1. 공공데이터포털 회원가입

  2. 청소년 활동 정보 서비스 API 신청

  3. 발급받은 서비스 키 확인

4. 환경 변수 설정

.env 파일을 생성하고 API 키를 설정합니다:

# .env.example을 복사하여 .env 파일 생성
cp .env.example .env

.env 파일 내용:

YOUTH_API_SERVICE_KEY=your_service_key_here

5. 빌드

npm run build

사용 방법

NPM 전역 설치 후 (권장)

설치만 하면 끝! Claude Desktop 설정에서 바로 사용:

{
  "mcpServers": {
    "youth-activity": {
      "command": "youth-activity-mcp",
      "env": {
        "YOUTH_API_SERVICE_KEY": "your_api_key_here"
      }
    }
  }
}

소스 빌드 후 직접 실행

# 개발 모드
npm run dev

# 또는 빌드 후 실행
npm run build
npm start

Claude Desktop 설정:

{
  "mcpServers": {
    "youth-activity": {
      "command": "node",
      "args": ["/절대/경로/mcp-server-youth-activity/build/index.js"],
      "env": {
        "YOUTH_API_SERVICE_KEY": "your_api_key_here"
      }
    }
  }
}

또는 .env 파일을 사용하는 경우:

{
  "mcpServers": {
    "youth-activity": {
      "command": "node",
      "args": ["/절대/경로/mcp-server-youth-activity/build/index.js"],
      "cwd": "/절대/경로/mcp-server-youth-activity"
    }
  }
}

Claude Desktop 설정 파일 위치

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

사용 예시

Claude와 대화하면서 다음과 같이 활용할 수 있습니다:

사용자: 서울시의 청소년 봉사활동을 찾아줘

Claude: (get_sido_list로 서울시 코드 확인 후)
        (search_youth_activities를 사용하여 검색)
        서울시의 청소년 봉사활동 목록을 찾았습니다...

프로젝트 구조

mcp-server-youth-activity/
├── src/
│   ├── index.ts              # MCP 서버 메인 코드
│   └── youthApiClient.ts     # 청소년 활동 API 클라이언트
├── build/                    # 컴파일된 JavaScript 파일
├── .env.example              # 환경 변수 예시
├── package.json              # 프로젝트 설정
├── tsconfig.json             # TypeScript 설정
└── readme.md                 # 이 파일

기술 스택

  • TypeScript - 타입 안전성

  • @modelcontextprotocol/sdk - MCP 프로토콜 구현

  • axios - HTTP 클라이언트

  • xml2js - XML 파싱

  • dotenv - 환경 변수 관리

  • Node.js - 런타임 환경

API 정보

  • 데이터 제공: 여성가족부

  • API 출처: 공공데이터포털

  • 서비스명: 청소년 활동 정보 서비스

라이선스

MIT

기여

이슈와 풀 리퀘스트를 환영합니다!

Available Tools

6 tools
echoB

입력받은 메시지를 그대로 반환합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes반환할 메시지

TDQS

B3.1/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 function of echoing a message, without mentioning any behavioral traits such as error handling, performance characteristics, or side effects. For a tool with no annotations, this is a significant gap in transparency.

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 that directly states the tool's function without any unnecessary words. It is front-loaded and efficiently conveys the core purpose, making it highly concise and well-structured for quick understanding.

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 simplicity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage guidelines and behavioral transparency. For a straightforward echo tool, this might be sufficient, but it does not fully address all contextual aspects like when to use it or potential limitations.

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 parameter 'message' fully documented in the schema as '반환할 메시지' (message to return). The description does not add any additional meaning or context beyond what the schema provides, such as format examples or constraints. Given the high schema coverage, 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.

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 function: '입력받은 메시지를 그대로 반환합니다' translates to 'Returns the received message as is.' This specifies the verb ('returns') and resource ('message'), making the purpose unambiguous. However, it does not differentiate from sibling tools, which are unrelated (e.g., get_facility_group_list, get_time), so it lacks sibling distinction.

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 states what the tool does but does not mention any context, prerequisites, or exclusions for usage. There is no implied or explicit advice on scenarios where this tool is appropriate, leaving the agent without usage direction.

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

get_facility_group_listC

청소년 시설 그룹 목록을 조회합니다. 시도, 기관명, 기관유형으로 필터링 가능합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoNo페이지 번호 (기본값: 1)
numOfRowsNo한 페이지 결과 수 (기본값: 10)
sidoNo시도명 (선택사항)
stNameNo기관명 (선택사항)
gNameNo기관유형명 (선택사항)

TDQS

C2.9/5.0
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 mentions filtering capabilities but doesn't describe pagination behavior (implied by pageNo/numOfRows parameters), rate limits, authentication requirements, or what happens when no filters are applied. The description is insufficient for a read operation 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the purpose and mentions filtering capabilities. It's appropriately concise and front-loaded with the main purpose, though it could be slightly more structured.

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 read operation with 5 parameters and pagination, but no output schema and no annotations, the description is incomplete. It doesn't explain the return format, pagination behavior, or error conditions. The agent would need to infer too much from the parameter names alone.

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 5 parameters with descriptions. The description adds minimal value by mentioning three filtering options (sido, stName, gName) but doesn't provide additional context beyond what's in the schema. 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 verb ('조회합니다' - retrieves) and resource ('청소년 시설 그룹 목록' - youth facility group list), making the purpose understandable. It doesn't explicitly distinguish from siblings like get_sido_list or get_sigungu_list, but the resource specificity provides some differentiation.

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 mentions filtering capabilities but provides no guidance on when to use this tool versus alternatives like search_youth_activities. There's no mention of prerequisites, typical use cases, or comparison with sibling tools.

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

get_sido_listC

청소년 활동 정보 시도(광역자치단체) 목록을 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoNo페이지 번호 (기본값: 1)
numOfRowsNo한 페이지 결과 수 (기본값: 100)

TDQS

C2.9/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 states the retrieval action without mentioning any behavioral traits such as pagination behavior (implied by parameters but not described), rate limits, authentication needs, or response format. This leaves significant gaps in understanding how the tool operates beyond its basic purpose.

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 or redundancy. It is front-loaded and appropriately sized for its simple function, earning a high score for conciseness.

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 annotations and output schema, the description is incomplete. It doesn't explain the return values (e.g., what data the list contains), pagination behavior, or any constraints, which are crucial for a list-retrieval tool. This leaves the agent with insufficient context to use the tool effectively.

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 clear documentation for both parameters ('pageNo' and 'numOfRows') including default values. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for adequate but minimal value addition.

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 verb '조회합니다' (retrieve) and the resource '청소년 활동 정보 시도(광역자치단체) 목록' (list of metropolitan autonomous districts for youth activity information), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like 'get_sigungu_list' (which likely retrieves municipal-level lists) or 'search_youth_activities' (which searches activities rather than administrative divisions), missing full sibling distinction.

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 are no mentions of context, prerequisites, or exclusions, and it doesn't reference sibling tools like 'get_sigungu_list' or 'search_youth_activities' for comparison, leaving usage unclear.

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

get_sigungu_listC

특정 시도의 시군구(기초자치단체) 목록을 조회합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
sidoYes시도명 (예: 서울, 부산광역시, 경기도)
pageNoNo페이지 번호 (기본값: 1)
numOfRowsNo한 페이지 결과 수 (기본값: 100)

TDQS

C2.9/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 states the tool retrieves a list, implying a read-only operation, but doesn't disclose other traits such as pagination behavior (implied by pageNo and numOfRows parameters), rate limits, authentication needs, error handling, or response format. For a tool with parameters and 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 a single, efficient sentence in Korean that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand quickly. Every part of the sentence contributes to clarifying the tool's function.

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 tool's complexity (3 parameters, no output schema, no annotations), the description is incomplete. It adequately states what the tool does but lacks details on behavior, output, and usage context. Without annotations or an output schema, the description should provide more context about the retrieval process, result format, or limitations to be fully helpful for an AI 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 description adds minimal meaning beyond the input schema. It mentions '특정 시도의' (for a specific province), which aligns with the 'sido' parameter, but doesn't elaborate on parameter interactions or usage. With 100% schema description coverage, the schema already documents all parameters (sido, pageNo, numOfRows) with descriptions and defaults. The description doesn't compensate with additional insights, so it meets the baseline for high schema 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 tool's purpose: '특정 시도의 시군구(기초자치단체) 목록을 조회합니다' translates to 'Retrieves a list of districts (basic local governments) for a specific province.' This specifies the verb (조회/retrieve) and resource (시군구 목록/district list) with a scope constraint (특정 시도/for a specific province). However, it doesn't explicitly differentiate from siblings like get_sido_list, which retrieves province lists rather than district lists for a province.

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 sibling tools (e.g., get_sido_list for province lists or search_youth_activities for other data), prerequisites, or exclusions. Usage is implied by the purpose but lacks explicit context for selection among available tools.

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

get_timeB

현재 시간을 반환합니다

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 the full burden of behavioral disclosure. It states the tool returns the current time, but doesn't specify format (e.g., timestamp, string), timezone, or any side effects. For a tool with zero annotation coverage, 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 a single, efficient sentence: '현재 시간을 반환합니다' (Returns the current time). It's front-loaded with the core purpose, has zero waste, and is appropriately sized for a simple tool with no parameters.

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 simplicity (0 parameters, no output schema), the description is minimally adequate. It states what the tool does but lacks details on return format or behavioral context. Without annotations or output schema, it doesn't fully prepare an agent for invocation, though it's sufficient for basic understanding.

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 tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for this scenario is 4, as the description appropriately focuses on the tool's function without redundant parameter information.

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: '현재 시간을 반환합니다' (Returns the current time). This specifies the verb (returns) and resource (current time), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'echo' or 'search_youth_activities', which prevents a perfect score.

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 context, prerequisites, or comparisons to sibling tools like 'get_facility_group_list' or 'get_sido_list'. The user must infer usage based solely on the tool name and description.

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

search_youth_activitiesC

청소년 활동 프로그램을 검색합니다. 프로그램명, 기관명, 지역, 기간 등으로 필터링 가능합니다

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoNo페이지 번호 (기본값: 1)
numOfRowsNo한 페이지 결과 수 (기본값: 10)
atNameNo프로그램명 (선택사항)
orgNameNo주최자(기관명) (선택사항)
sidoNo시도명 (선택사항, 예: 서울, 부산광역시)
startDateNo일활동기간시작일 (선택사항, YYYYMMDD 형식)
endDateNo일활동기간종료일 (선택사항, YYYYMMDD 형식)

TDQS

C2.9/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 filtering capabilities but lacks critical behavioral details: it doesn't disclose whether this is a read-only operation, how results are returned (e.g., pagination behavior implied by parameters but not explained), rate limits, authentication needs, or error handling. The description is minimal and misses key operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose in the first sentence. The second sentence efficiently lists filterable fields without unnecessary details. However, it could be slightly more structured by explicitly separating purpose from usage notes.

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 complexity (7 parameters, no annotations, no output schema), the description is incomplete. It lacks information on return values, error cases, pagination behavior (implied by parameters but not explained), and how to interpret results. For a search tool with multiple filters, more context is needed to guide effective use.

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 fully documents all 7 parameters. The description adds minimal value beyond the schema by listing filterable fields (program name, organization name, region, period), but it doesn't provide additional semantics like usage examples or constraints. Baseline 3 is appropriate as 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 tool's purpose: 'search youth activity programs' (청소년 활동 프로그램을 검색합니다). It specifies the resource (youth activity programs) and the action (search), though it doesn't explicitly differentiate from sibling tools like 'get_facility_group_list' or 'get_sido_list', which appear to be related but serve different functions.

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 mentions filtering capabilities but doesn't specify scenarios, prerequisites, or exclusions. For example, it doesn't clarify if this is for broad searches versus more specific sibling tools like 'get_sido_list' for region lists.

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

TDQS

B3.2/5.0
Disambiguation4/5

Most tools have distinct purposes: get_facility_group_list, get_sido_list, get_sigungu_list, and search_youth_activities each target different data retrieval operations. However, echo and get_time are utility functions that don't directly relate to the youth activity domain and could be confused as overlapping in their generic nature.

Naming Consistency4/5

Four of the six tools follow a consistent get_* pattern (get_facility_group_list, get_sido_list, get_sigungu_list, get_time), which is clear and predictable. The remaining two tools (echo and search_youth_activities) deviate from this pattern, but the naming is still descriptive and readable.

Tool Count4/5

With 6 tools, the count is reasonable for a youth activity information server. It covers core data retrieval needs without being overwhelming. However, it feels slightly thin for a comprehensive domain, as it lacks update or management operations.

Completeness3/5

The toolset provides good read-only coverage for querying youth activities, facilities, and administrative regions, but it is incomplete. There are no tools for creating, updating, or deleting activities or facilities, which limits agents to retrieval-only workflows and may cause dead ends in more complex tasks.

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

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/hyunhoonj/mcp-test'

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