Skip to main content
Glama
sifue

ZEN University Syllabus MCP Server

by sifue
README.md
# ZEN大学シラバスMCPサーバー実装 

[ZEN大学シラバス](https://syllabus.zen.ac.jp/)のコンテンツを利用できるようMCPを実装したもの。

## 使い方
[Node.js](https://nodejs.org/)をインストールする。
Node.jsのバージョンは20以上を使用すること。

このリポジトリをクローンするか、ZIPでダウンロードして展開する。
コンソールで開き、以下のコマンドを実行する。

```sh
npm install
npx tsc
```

でビルド。Macはコンソールで実行権限をつける。 `chmod 755 build/index.js`

## Claude Desktopでの設定

[Claude Desktop](https://claude.ai/download)をインストールする。
[VSCode](https://azure.microsoft.com/ja-jp/products/visual-studio-code)のエディタがインストール前提だが、

```sh
code $env:AppData\Claude\claude_desktop_config.json
```
で設定ファイルを開く。Macは、

```sh
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
```

以下のように書き換えて設定。

```json
{
  "mcpServers": {
      "get-subjects": {
          "command": "node",
          "args": [
              "C:\\Users\\sifue\\workspace\\zen-syllabus-mcp\\build\\index.js"
          ]
      }
  }
}
```

`build/index.js`のパスは適宜変更すること。


Macでは、

```json
{
  "mcpServers": {
      "get-subjects": {
          "command": "node",
          "args": [
              "/Users/sifue/workspace/zen-syllabus-mcp/build/index.js"
          ]
      }
  }
}
```

[nvm](https://github.com/nvm-sh/nvm)などのNode.jsのバージョン管理システムを利用している場合以下のようにnodeを指定する。

```json
{
    "mcpServers": {
        "get-subjects": {
            "command": "/Users/soichiro_yoshimura/.nvm/versions/node/v22.14.0/bin/node",
            "args": [
                "/Users/soichiro_yoshimura/workspace/zen-syllabus-mcp/build/index.js"
            ]
        }
    }
}
```

このようになる。`build/index.js`のパスは適宜変更すること。

設定後はClaude Desktopを再起動。

「ZEN大学のシラバスMCPを利用して、フロントエンドエンジニアになるためのオススメの科目をあげてください」

で検証。

![Claude Desktopのスクショ1](image/claude1.png)
![Claude Desktopのスクショ2](image/claude2.png)

このようになる。履修要件を設定すれば細かな履修相談も可能。

## VSCodeの設定
【未検証】いずれGitHub Copilot でAIエージェントが利用できるようなると利用できるらしい(現在はプレビュー版のみ)。
mcpで設定を検索して以下をsetting.jsonに設定。パスは適宜変更すること。jsonのweatherの上に起動ボタンが現れるので起動しておく。

```json
{
  "mcpServers": {
      "get-subjects": {
          "command": "node",
          "args": [
              "C:\\Users\\sifue\\workspace\\zen-syllabus-mcp\\build\\index.js"
          ]
      }
  }
}
```

設定後はGitHub Copilotで

「ZEN大学のシラバスMCPを利用して、フロントエンドエンジニアになるためのオススメの科目をあげてください」

で検証。履修要件を設定すれば細かな履修相談も可能。

## サーバー実装時の動作確認

詳しくは、[TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)のClientの実装を参照。

```sh
node build/index.js
```
でサーバーを起動。

```sh
node .\build\client.js
```
でクライアントを起動して実行。

クライアントは検証したいコードに合わせて書き換え、その後、
```sh
npx tsc
```
でビルドして再度クライアントを実行する。


## 参考
- [MCPのQuickStart](https://modelcontextprotocol.io/quickstart/server)
- [VSCodeのMCP設定](https://code.visualstudio.com/docs/copilot/chat/mcp-servers)

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves detailed information for a specific course with search parameters, while the other fetches a simplified list of all courses. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the need for detailed vs. broad data.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with hyphens ('get-a-subject-with-detail' and 'get-list-of-all-subjects'), using clear, descriptive names that indicate their actions and targets. The naming style is uniform across the set, enhancing predictability.

Tool Count2/5

With only 2 tools, the server feels under-scoped for a university syllabus domain, which typically involves operations like searching, filtering, updating, or managing course data. This limited set may force agents to work around gaps, as it lacks comprehensive coverage for common syllabus interactions.

Completeness2/5

The tool surface is severely incomplete for a syllabus server, covering only retrieval (detailed and list) without essential operations like creating, updating, or deleting courses, or advanced search capabilities. This will likely cause agent failures when full lifecycle management is required.

Maintenance

ActivityInactive
ResponsivenessNo issues