Skip to main content
Glama
kongyo2

Stellaris Modding MCP Server

by kongyo2

Stellaris Modding MCP Server

WARNING

これは実験的なプロジェクトです。APIの仕様変更や、予期せぬエラーが発生する可能性があります。

ステラリスのmodding支援用MCPサーバーです。SteamCMD APIとGitHub APIを使用して、mod開発者に必要な最新情報を提供します。

機能

  • ゲームバージョン情報: SteamCMD APIからステラリスの最新バージョン、ビルドID、更新日時を取得

  • CWToolsコンフィグ: Stellaris modding用の検証ルール(.cwt files)を取得

  • ドキュメント検索: triggers、effects、modifiers、scopes、localizationsの最新ドキュメントをキーワードで検索

  • 要素検証: trigger, effectなどが最新バージョンで有効か検証

  • リアルタイム更新: 常に最新の情報を提供

  • エラーハンドリング: リトライ機能付きで安定した動作

Related MCP server: steam-store-search-mcp

利用可能なツール

1. stellaris-version

ステラリスの現在のバージョン情報を包括的に取得します。

取得情報:

  • 現在のPublicブランチのビルドIDと更新日時

  • 最新バージョン番号とその詳細情報

  • 利用可能なバージョン一覧(最新10件)

  • 特別なブランチ情報

  • ゲームの基本情報(App ID、開発者、対応OS等)

2. cwtools-config

CWToolsのStellarisコンフィグルール(.cwt files)を取得します。

パラメータ:

  • version: "stable" (最新タグ) または "latest" (開発版) - デフォルト: "stable"

  • file: 特定のファイル名またはパス(例: "common.cwt", "common/agreements.cwt"

  • listOnly: trueの場合、ファイル一覧のみを表示 - デフォルト: false

機能:

  • config/直下およびサブディレクトリ内の.cwtファイルを取得

  • 特定ファイルの内容取得または全ファイル一覧表示

  • 安定版または開発版の選択可能

3. stellaris-search

OldEnt/stellaris-triggers-modifiers-effects-listリポジトリから最新のゲームドキュメントをキーワード検索します。

パラメータ:

  • docType: "triggers", "effects", "modifiers", "scopes", "localizations"のいずれか

  • keyword: 検索キーワード

  • contextLines: 前後に表示する行数(デフォルト: 2)

機能:

  • 最新バージョンのドキュメントを自動で検索

  • 一致した箇所をコードスニペットとして表示

4. stellaris-validate

指定した要素が最新バージョンのドキュメントに存在するかを検証します。

パラメータ:

  • docType: "triggers", "effects", "modifiers", "scopes", "localizations"のいずれか

  • element: 検証する要素名(例: has_technology

機能:

  • 要素の完全一致、部分一致をチェック

  • modの互換性確認に利用可能

開発

セットアップ

git clone <this-repository>
cd stellaris-modding-mcp-server
npm install

開発モードで起動

npm run dev

これにより、MCPサーバーが起動し、CLIで対話的にテストできます。

本番モードで起動

npm run start

テスト実行

npm run test

コードフォーマット

npm run format

リント実行

npm run lint

使用API・データソース

SteamCMD API

SteamCMD API を使用してゲームバージョン情報を取得:

  • 認証不要: APIキーや認証は必要ありません

  • リアルタイム更新: Steamでの変更が数秒以内に反映されます

  • 無料: 完全に無料で使用できます

  • オープンソース: APIのソースコードも公開されています

GitHub API

以下のリポジトリからmodding関連情報を取得:

信頼性機能

  • リトライ機能: ネットワークエラーやレート制限に対する自動リトライ

  • 指数バックオフ: 適切な間隔でのリトライ実行

  • フォールバック: 最新バージョンが利用できない場合の代替バージョン取得

ライセンス

MIT License

貢献

バグ報告や機能要求は、GitHubのIssuesでお知らせください。プルリクエストも歓迎します。

技術スタック

  • FastMCP - MCPサーバーフレームワーク

  • TypeScript - 型安全な開発

  • Zod - スキーマバリデーション

  • Vitest - テストフレームワーク

使用例

バージョン情報の取得

# MCPクライアントでの使用例
stellaris-version

CWToolsコンフィグの取得

# 利用可能なファイル一覧を表示
cwtools-config --listOnly true

# 特定のファイルを取得
cwtools-config --file "common.cwt"

# サブディレクトリのファイルを取得
cwtools-config --file "common/agreements.cwt"

# 開発版を取得
cwtools-config --version "latest"

ドキュメントの検索

# triggersから "fleet" を検索
stellaris-search --docType "triggers" --keyword "fleet"

要素の検証

# effect "add_modifier" が有効か検証
stellaris-validate --docType "effects" --element "add_modifier"

対応バージョン

  • Node.js: 22以上

  • Stellaris: 全バージョン対応(SteamCMD APIから自動取得)

  • CWTools: 安定版および開発版

  • ゲームドキュメント: 常に最新バージョンを自動取得

トラブルシューティング

よくある問題

  1. GitHub API レート制限

    • 認証なしの場合、1時間あたり60リクエストの制限があります

    • 大量のファイルを取得する場合は時間をおいて実行してください

  2. ネットワークエラー

    • 自動リトライ機能が組み込まれているため、一時的なエラーは自動的に回復します

    • 継続的な問題がある場合は、インターネット接続を確認してください

  3. バージョンが見つからない

    • ゲームドキュメントは利用可能な最新バージョンに自動的にフォールバックします

    • CWToolsコンフィグは安定版と開発版を選択できます

ログの確認

開発モードで実行すると詳細なログが表示されます:

npm run dev

Installing via Smithery

To install stellaris-modding-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kongyo2/stellaris-modding-mcp-server --client claude

Available Tools

4 tools
cwtools-configA
Read-only

CWToolsのStellarisコンフィグルール(.cwt files)を取得します。最新の安定版または開発版から、config/直下およびサブディレクトリ(common/等)内の特定のファイルまたは全ファイルを取得できます。

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNo取得する特定の.cwtファイル名またはパス (例: common.cwt, common/agreements.cwt)
listOnlyNoファイル一覧のみを表示する場合はtrue
versionNo取得するバージョン: stable (最新タグ) または latest (開発版)stable

TDQS

A3.8/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, indicating safe read operations with open-world assumptions. The description adds valuable context beyond annotations: it specifies the source (CWTools for Stellaris), the file types (.cwt files), version options (stable/latest), and directory structure (config/ and subdirectories like common/). This enhances understanding of the tool's behavior without contradicting annotations.

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 concise and well-structured in two sentences. The first sentence states the core purpose, and the second elaborates on versions and file retrieval options. Every sentence adds value without redundancy, making it easy to parse and understand quickly.

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?

Given the tool's moderate complexity (3 parameters, no output schema) and rich annotations (readOnlyHint, openWorldHint), the description is fairly complete. It covers what the tool does, source details, and retrieval options. However, it could improve by mentioning potential outputs (e.g., file contents or listings) or error cases, but annotations help mitigate gaps. Sibling tools provide some context, but the description stands adequately on its own.

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 clear descriptions for all parameters (file, listOnly, version). The description adds some semantic context by mentioning '特定のファイルまたは全ファイル' (specific files or all files) and 'config/直下およびサブディレクトリ' (config root and subdirectories), which aligns with the 'file' parameter. However, it doesn't provide additional details beyond what the schema already covers, so baseline 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 purpose: 'CWToolsのStellarisコンフィグルール(.cwt files)を取得します' (retrieves CWTools Stellaris config rules). It specifies the resource (.cwt files) and the scope (from stable or development versions, specific files or all files). However, it doesn't explicitly differentiate from sibling tools like 'stellaris-search' or 'stellaris-validate', which might have overlapping domains.

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?

The description implies usage context by mentioning retrieval from '最新の安定版または開発版' (latest stable or development versions) and files in 'config/直下およびサブディレクトリ' (config root and subdirectories). However, it lacks explicit guidance on when to use this tool versus alternatives like 'stellaris-search' (which might search within configs) or 'stellaris-validate' (which might validate configs), and does not specify exclusions or prerequisites.

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

stellaris-validateA
Read-only

指定したtrigger、effect、modifier、scope、localizationが最新バージョンのStellarisで有効かどうかをチェックします。modding時の互換性確認に便利です。

ParametersJSON Schema
NameRequiredDescriptionDefault
docTypeYes検証するドキュメントの種類: triggers (条件), effects (効果), modifiers (修正値), scopes (スコープ), localizations (ローカライゼーション)
elementYes検証する要素名(例: has_technology, add_modifier, naval_capacity)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe, read-only operation with open-world semantics. The description adds valuable context about checking 'validity in the latest version of Stellaris' and 'modding compatibility,' which clarifies the tool's behavioral scope beyond the annotations.

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 concise and front-loaded, consisting of two sentences that efficiently convey the tool's purpose and usage context without any wasted words. Every sentence adds clear value.

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?

Given the tool's moderate complexity (2 parameters, no output schema), the description is mostly complete. It explains what the tool does and its context, but lacks details on return values or error handling. With annotations covering safety and semantics, and schema covering parameters, the description is adequate but could be slightly enhanced.

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 clear descriptions for both parameters (docType and element). The description does not add significant meaning beyond the schema, as it only mentions the parameter types without additional syntax or format details. Baseline 3 is appropriate given the comprehensive schema.

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's purpose with specific verbs ('check'/'validate') and resources ('triggers, effects, modifiers, scopes, localizations'), and distinguishes it from siblings by mentioning 'modding compatibility verification' which suggests a validation focus different from search or configuration tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage ('useful for modding compatibility verification'), but does not explicitly state when not to use it or name alternatives among sibling tools. It implies usage during modding but lacks exclusion criteria.

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

stellaris-versionA
Read-only

ステラリスの現在のバージョン情報を取得します。ビルドID、最終更新日時、利用可能なバージョン番号などmodding に必要な情報を提供します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, indicating this is a safe read operation with no side effects. The description adds valuable context beyond annotations by specifying what information is retrieved (build ID, last update time, version numbers) and its purpose for modding. It does not contradict annotations, as '取得します' (get) aligns with read-only behavior. However, it lacks details on rate limits or authentication needs, though these may not be critical for this 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 concise and well-structured in two sentences: the first states the core purpose, and the second elaborates on the specific information provided. Every sentence adds value by clarifying scope and utility, with no wasted words or redundancy. It is front-loaded with the main action.

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?

Given the tool's simplicity (0 parameters, read-only annotations, no output schema), the description is complete enough for an agent to understand its function and use case. It covers what the tool does, what information it returns, and the context (modding). However, without an output schema, it could benefit from more detail on the return format, though the annotations and lack of parameters mitigate this gap.

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 has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's output and purpose. This meets the baseline for tools with no parameters, as it avoids unnecessary repetition of schema information.

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's purpose: 'ステラリスの現在のバージョン情報を取得します' (Get current version information for Stellaris). It specifies the verb '取得します' (get/retrieve) and resource 'バージョン情報' (version information), and distinguishes from siblings by mentioning modding-specific details like build ID, last update time, and version numbers, which none of the sibling tools (cwtools-config, stellaris-search, stellaris-validate) appear to cover.

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?

The description implies usage context by stating it provides 'modding に必要な情報' (information necessary for modding), suggesting this tool is for modding-related tasks. However, it does not explicitly state when to use this tool versus alternatives like stellaris-search or stellaris-validate, nor does it provide exclusions or prerequisites. The guidance is present but not comprehensive.

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. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • First observedcwtools-config
    • First observedstellaris-search
    • First observedstellaris-validate
    • First observedstellaris-version

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct and non-overlapping purpose: cwtools-config handles configuration file retrieval, stellaris-search performs documentation searches, stellaris-validate checks code validity, and stellaris-version provides version information. There is no ambiguity in their functions, making tool selection clear for an agent.

Naming Consistency4/5

Three tools follow a consistent 'stellaris-' prefix pattern (stellaris-search, stellaris-validate, stellaris-version), while cwtools-config deviates slightly with a different prefix. This minor inconsistency does not hinder readability, as all names are descriptive and use snake_case consistently.

Tool Count4/5

With 4 tools, the count is reasonable for a modding server, covering key areas like configuration, search, validation, and version info. It might benefit from additional tools for broader modding workflows, but it is well-scoped and not overly sparse or bloated.

Completeness3/5

The tools cover essential modding tasks such as configuration retrieval, documentation search, code validation, and version checking. However, there are notable gaps, such as missing tools for creating or editing mod files, testing mods, or managing dependencies, which could limit agent effectiveness in full modding workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    このMCPサーバーは、EVE Onlineのマーケットデータにアクセスするためのインターフェースを提供します。ESI(EVE Swagger Interface)APIを使用して、リアルタイムの市場データを取得できます。
    10
    9
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Read-only MCP server exposing CWTools Paradox/Stellaris semantic tools (syntax checking, scope queries, definitions, references, diagnostics, scripted triggers/effects/enums, and shader queries) to AI agents like Codex and Claude Code, bridging into VS Code-compatible hosts or running standalone.
    1
    MIT

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/kongyo2/Stellaris-Modding-MCP-Server'

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