Skip to main content
Glama
theYahia

@theyahia/getcourse-mcp

by theYahia

🗄 リポジトリはアーカイブされました

開発は theYahia/WWmcp に移転しました — 非西洋API(СНГ、MENA、アフリカ、LATAM、東南アジア)向けのMCPサーバーのモノレポです。共通コア @theyahia/mcp-core、統一CI、統一リリースパイプライン。

ここにあったものの現行バージョン: servers/getcourse/

npmパッケージは以前と同じ @theyahia/getcourse-mcp — 以前と同じようにインストールして動作します。 ここでは何も更新されません。Issueとpull requestはWWmcpへ。

アーカイブ済み — 開発は theYahia/WWmcp に移転しました、 非西洋API向けのMCPサーバーのモノレポです。 このパッケージの現行バージョンは servers/getcourse/ にあります。 npmパッケージ @theyahia/getcourse-mcp は変更されていません。 Issueやpull requestはそちらでお願いします。

@theyahia/getcourse-mcp

GetCourse LMS API 向けの MCP サーバー。ユーザー、取引、ユーザー作成のための3つのツールを提供します。

npm license

Related MCP server: Gong MCP Server

クイックスタート

Claude Desktop

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "getcourse": {
      "command": "npx",
      "args": ["-y", "@theyahia/getcourse-mcp"],
      "env": {
        "GETCOURSE_DOMAIN": "myschool.getcourse.ru",
        "GETCOURSE_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

claude mcp add getcourse -- npx -y @theyahia/getcourse-mcp

環境変数を設定します: GETCOURSE_DOMAIN + GETCOURSE_API_KEY。

Cursor / Windsurf

{
  "getcourse": {
    "command": "npx",
    "args": ["-y", "@theyahia/getcourse-mcp"],
    "env": {
      "GETCOURSE_DOMAIN": "myschool.getcourse.ru",
      "GETCOURSE_API_KEY": "your-api-key"
    }
  }
}

ツール

ツール

説明

get_users

ユーザーを任意のステータス/日付フィルターで一覧表示

create_user

ユーザーを作成または更新し、グループ/取引に追加

get_deals

取引(注文)をステータス/日付フィルターで一覧表示

認証

変数

必須

説明

GETCOURSE_DOMAIN

はい

アカウントのドメイン(例: myschool.getcourse.ru)

GETCOURSE_API_KEY

はい

アカウント設定から取得するAPIシークレットキー

HTTP トランスポート

HTTP_PORT=3000 npx @theyahia/getcourse-mcp
# or
npx @theyahia/getcourse-mcp --http 3000

エンドポイント: POST /mcp(JSON-RPC)、GET /health(ステータス)。

スキル

  • skill-students -- GetCourseの生徒を照会・管理

  • skill-deals -- GetCourseの取引/注文をステータスと日付で照会

ライセンス

MIT

Available Tools

3 tools
create_userB

Создание или обновление пользователя в GetCourse.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoГород
emailYesEmail пользователя
phoneNoТелефон
last_nameNoФамилия
first_nameNoИмя
group_nameNoНазвание группы для добавления
deal_offer_codeNoКод предложения для создания заказа

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description is the only source of behavioral information. It discloses that the operation can both create and update a user, but it does not state the upsert key, side effects, required permissions, or what happens on conflict. This is inadequate for a mutating tool with zero annotation coverage.

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 short, front-loaded sentence with no filler. Every word contributes to stating the operation and target system.

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 description is too sparse for a 7-parameter write operation with no annotations or output schema. Missing context includes the identity/email key for update behavior, when to prefer this over get_users/get_deals, and expected response or failure modes.

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 all seven parameters already have individual descriptions. The tool description adds no parameter-level meaning beyond confirming the action, matching the baseline 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 names the exact operation (create or update) and resource (user in GetCourse), making the tool's purpose immediately clear. The sibling tools are read-oriented (get_users, get_deals), so this write/upsert tool is conceptually distinct without needing extra wording.

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 given about when to use this tool versus the sibling get_users/get_deals, nor any conditions or exclusions. The only implied context is 'GetCourse', which is not enough to help an agent decide between creating/updating and reading.

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

get_dealsC

Получение списка заказов (сделок) GetCourse.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoФильтр по статусу заказа
created_toNoДата создания до (YYYY-MM-DD)
created_fromNoДата создания от (YYYY-MM-DD)

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 does convey that this is a read-style 'list' operation, but it does not mention response format, pagination, authentication requirements, side effects, or any limits. This is a significant gap for an unannotated 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 concise sentence that front-loads the core purpose: retrieving a list of orders. There is no filler or redundant wording, so every part 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 the absence of annotations and an output schema, the description is too thin to be fully actionable. It explains what the tool returns conceptually but not how the result is shaped, whether the filters combine, or what operational constraints apply. Low parameter complexity helps, but the lack of contextual detail remains a clear 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?

Schema description coverage is 100%, so all three parameters already have meaningful descriptions in the input schema. The tool description adds no additional parameter semantics, which matches the baseline of 3; 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 a specific action and resource: 'Получение списка заказов (сделок) GetCourse' (getting a list of orders/deals). This is unambiguous about what the tool does, though it does not explicitly differentiate it from the sibling tools get_users and create_user.

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 gives no guidance about when to use this tool versus alternatives, no context about prerequisites, and no explicit use-case framing. The intended usage is only implied by the tool name and the phrase 'list of orders', but no practical selection guidance is provided.

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

get_usersC

Получение списка пользователей GetCourse.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoФильтр по статусу пользователя
created_toNoДата регистрации до (YYYY-MM-DD)
created_fromNoДата регистрации от (YYYY-MM-DD)

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 behavioral disclosure burden, but it only states that the tool retrieves a list of users. It does not mention pagination, default filtering behavior, response format, volume limits, or whether an empty list vs. an error occurs on no results.

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 with no wasted words, and the core purpose is front-loaded. It is appropriately sized for a simple read tool, though it contains no additional supporting details.

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 three optional filter parameters and no output schema, yet the description provides only a one-line purpose statement. Given the absence of annotations, an agent lacks sufficient context about how filters interact, what data is returned, and what caveats apply.

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 all three parameters (status, created_to, created_from) already documented in the schema. The description itself adds no extra meaning about parameter usage, combination rules, or formatting nuances, so the baseline score of 3 applies.

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 states a clear purpose: 'Получение списка пользователей GetCourse' (Getting a list of GetCourse users), which is a specific verb+resource pairing. However, it does not distinguish itself from any sibling tools, and no sibling names were provided to allow for 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 gives no guidance on when to use this tool, what scenarios it fits, or which alternatives might be better suited. An agent gets no context about conditions that would make this tool the right choice.

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. 3 tool updatesv1.1.0
    • First observedcreate_user
    • First observedget_deals
    • First observedget_users

TDQS

B3.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct resource and action: getting users, creating/updating users, and getting deals. There is no overlap or ambiguity between the tools.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with get_ or create_ prefixes (get_users, create_user, get_deals). Naming is predictable and uniform.

Tool Count5/5

With exactly 3 tools, the count falls within the well-scoped 3-15 range. Each tool serves a clear core function for GetCourse integration without unnecessary bloat.

Completeness3/5

The tool surface covers listing users, upserting users, and listing deals, but notable operations are missing: no delete for users and no create/update/delete for deals. This creates partial CRUD coverage with gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers