Manalink MCP Server

마나링크 MCP 서버

마나 링크의 Model Context Protocol (MCP) 서버 구현입니다. AI 어시스턴트가 교사 검색과 같은 기능을 사용할 수 있도록 합니다.

기능

이 MCP 서버는 다음 도구를 제공합니다.

  1. 과목 마스터 취득 : 과목 이름과 과목 ID의 마스터 취득
  2. 특징 마스터 취득 : 코스 특징의 마스터 취득(API로부터 동적으로 취득)
  3. 학년 마스터 취득 : 학년 이름과 ID 마스터 취득
  4. 선생님 검색(상세 지정) : 과목 ID, 학년 ID 등의 상세 파라미터로 선생님을 검색

전제 조건

  • Node.js 18+
  • npm 또는 yarn

설치

# リポジトリのクローン git clone [リポジトリURL] cd manalink-mcp # 依存関係のインストール npm install

사용법

개발 모드

npm run dev

프로덕션 모드

npm run build npm start

Claude for Desktop과의 협력

Claude for Desktop에서 사용하려면 claude_desktop_config.json 파일에 설정을 추가합니다.

  1. Claude for Desktop 구성 파일 열기
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. 다음 설정 추가
{ "mcpServers": { "manalink": { "command": "node", "args": [ "/絶対パス/manalink-mcp/dist/index.js" ] } } }
  1. Claude for Desktop 재부팅

MCP 도구

1. 과목 마스터 취득

// ツール名: get_subject_master // パラメータ: なし

2. 특징 마스터 취득

// ツール名: get_course_features // パラメータ: なし

3. 학년 마스터 취득

// ツール名: get_grade_master // パラメータ: なし

4. 선생님 검색 (상세 지정)

// ツール名: search_teachers_advanced // パラメータ: // - subject_ids: 科目IDの配列(オプション) // - grade_ids: 学年IDの配列(オプション) // - course_feature_id: 特徴ID(オプション) // - sort: ソート順(オプション)[pr, certification, rating, lesson_count, latest] // - desired_teaching_period: 指導期間(オプション)[monthly, once]

검증 방법

MCP Inspector를 사용하여 검증할 수 있습니다.

  1. 빌드를 실행한 다음 관리자를 실행합니다.
npm run build npx @modelcontextprotocol/inspector node dist/index.js

라이센스

MIT

HTML에서 Markdown으로 변환 기능

마나링크에서 얻은 HTML 콘텐츠를 마크다운 형식으로 변환하는 기능을 구현합니다.

설치 방법

npm install node-html-markdown

사용방법

import { convertHtmlToMarkdown } from './utils/api'; // HTMLからMarkdownへの変換 const html = ` <div> <h1>マナリンク</h1> <p>オンライン家庭教師プラットフォーム</p> <ul> <li><a href="/about">サービスについて</a></li> <li><a href="/teachers">先生を探す</a></li> </ul> </div> `; const markdown = convertHtmlToMarkdown(html); console.log(markdown);

변환 결과

위의 HTML에서 다음과 같은 마크다운이 생성됩니다.

# マナリンク オンライン家庭教師プラットフォーム * [サービスについて](/about) * [先生を探す](/teachers)

교사 검색 결과의 마크다운 변환

교사 검색 API를 사용하면 HTML 형식과 Markdown 형식 모두에서 검색 결과를 얻을 수 있습니다.

import { searchTeachers } from './utils/api'; // 数学の中学生を教えられる先生を検索 const result = await searchTeachers({ subject_ids: [2], // 数学 grade_ids: [4], // 中学1年生 sort: 'rating' }); // HTML形式の検索結果 console.log(result.bodyContent); // Markdown形式の検索結果 console.log(result.markdown);
ID: p018mako41