Skip to main content
Glama

BeamNG Modding MCP

A local Model Context Protocol server for researching, scaffolding, reviewing, validating, and packaging BeamNG.drive mods. Official BeamNG documentation results include their source URL and freshness metadata; optional game-source searches are read-only.

Requirements and setup

  • Node.js 20 or newer

  • A directory dedicated to your mod projects

cd /Users/joaorodrigues/Documents/beamng-mcp
npm install
npm run build

Choose a workspace. Every server write is confined to this directory:

mkdir -p /absolute/path/to/beamng-mod-workspace

Optional environment variables:

Variable

Purpose

BEAMNG_MOD_ROOT

Required writable mod workspace

BEAMNG_GAME_ROOT

Optional read-only BeamNG installation/content root

BEAMNG_DOCS_CACHE

Optional documentation cache location

BEAMNG_DOCS_TTL_HOURS

Cache freshness interval; defaults to 24

Related MCP server: enfusion-mcp

Connect an MCP client

Replace /absolute/path/to/beamng-mod-workspace in these examples.

Codex

The installed Codex CLI can create the stdio registration directly:

codex mcp add beamng-modding \
  --env BEAMNG_MOD_ROOT=/absolute/path/to/beamng-mod-workspace \
  -- node /Users/joaorodrigues/Documents/beamng-mcp/dist/index.js

Add optional environment variables by repeating --env. Confirm the registration with:

codex mcp get beamng-modding

Start a new Codex task after adding the server so its tools are discovered.

Claude Desktop

Add this server under mcpServers in Claude Desktop's MCP configuration:

{
  "mcpServers": {
    "beamng-modding": {
      "command": "node",
      "args": ["/Users/joaorodrigues/Documents/beamng-mcp/dist/index.js"],
      "env": {
        "BEAMNG_MOD_ROOT": "/absolute/path/to/beamng-mod-workspace"
      }
    }
  }
}

Restart Claude Desktop after saving the configuration.

Cursor

Create .cursor/mcp.json in the project that should use the server:

{
  "mcpServers": {
    "beamng-modding": {
      "command": "node",
      "args": ["/Users/joaorodrigues/Documents/beamng-mcp/dist/index.js"],
      "env": {
        "BEAMNG_MOD_ROOT": "/absolute/path/to/beamng-mod-workspace"
      }
    }
  }
}

VS Code

Create .vscode/mcp.json:

{
  "servers": {
    "beamng-modding": {
      "type": "stdio",
      "command": "node",
      "args": ["/Users/joaorodrigues/Documents/beamng-mcp/dist/index.js"],
      "env": {
        "BEAMNG_MOD_ROOT": "/absolute/path/to/beamng-mod-workspace"
      }
    }
  }
}

Run MCP: List Servers from the Command Palette to start or inspect it.

First use

Populate the local official-documentation index. Either ask the client:

Synchronize the BeamNG modding documentation with beamng_docs_sync, then find the official guidance for creating a vehicle configuration.

Or run the CLI task with the same environment:

BEAMNG_MOD_ROOT=/absolute/path/to/beamng-mod-workspace npm run docs:sync

The server keeps cached pages available when offline. Refreshes are same-origin and restricted to https://documentation.beamng.com/modding/.

Example requests:

  • “Plan a BeamNG Lua extension, citing the official docs.”

  • “Dry-run a vehicle mod scaffold named rally_buggy in rally-buggy.”

  • “Validate the mod in rally-buggy and explain every error with sources.”

  • “Search my configured BeamNG source for onExtensionLoaded examples.”

  • “Package rally-buggy as releases/rally-buggy.zip after it passes validation.”

Scaffolding and general file writes default to dryRun: true. Ask explicitly to apply the operation after reviewing the planned paths.

Tools

Tool

Purpose

beamng_docs_search

Search the synchronized official documentation

beamng_docs_get

Read a cached page/section or fetch one approved URL

beamng_docs_sync

Refresh the bounded documentation cache

beamng_source_search

Search optional local game text files read-only

beamng_mod_scaffold

Generate one of seven text-only mod templates

beamng_mod_write_files

Atomically write bounded UTF-8 changes

beamng_mod_validate

Check structure, JBeam, JSON, materials, references, and metadata

beamng_mod_package

Validate and create a deterministic ZIP

beamng_best_practices

Return evidence-backed rules by mod type/topic

The server also publishes documentation, templates, best practices, and the latest validation report as MCP resources, plus four reusable workflow prompts.

Development

npm run check

The tests cover path traversal and symlink containment, atomic overwrite behavior, documentation extraction/search, tolerant JBeam parsing, all scaffold profiles, deterministic archive layout, and MCP discovery/tool execution.

Safety and limitations

  • The server never installs mods or changes BeamNG game files.

  • All authoring paths are relative to BEAMNG_MOD_ROOT; symlink escapes and traversal are rejected.

  • Static validation cannot prove physics, rendering, Lua runtime behavior, or gameplay correctness. Test the packaged ZIP in BeamNG.drive.

  • Documentation is incomplete in some areas. Official docs, configured local game source, and curated guidance are always labeled separately.

Available Tools

9 tools
beamng_best_practicesGet BeamNG modding best practicesC
Read-only

Return applicable evidence-backed guidance with explicit source classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNo
modTypeYes
severityNo

TDQS

C2.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds a small behavioral detail about 'explicit source classification' in the output, but it doesn't elaborate on what that means or other behaviors like response format or rate limits. It adds some value but is minimal.

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

Conciseness2/5

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

The description is a single short sentence, but it is under-specified rather than appropriately concise. It omits key context about the tool's domain and usage, making it less effective than a slightly longer description that front-loads essential information.

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 tool with three parameters (one required enum) and no output schema, the description is incomplete. It doesn't explain what 'guidance' means in practice, what 'source classification' looks like, or what the return value contains, leaving significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of any parameters (modType, topic, severity). The required modType enum and optional fields are left entirely undocumented in the description, so the agent has no semantic context beyond the raw schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Return' and mentions 'evidence-backed guidance with explicit source classification,' but the resource is vague and doesn't explicitly say it's about BeamNG modding. The title clarifies the purpose, but the description alone is abstract and doesn't fully distinguish from sibling tools like docs search.

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 such as beamng_docs_search or beamng_source_search. There is no mention of context, prerequisites, or exclusions, leaving the agent without direction on tool selection.

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

beamng_docs_getRead a BeamNG documentation pageA
Read-only

Read a cached official page by document ID or approved documentation URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
headingNo
idOrUrlYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description adds the useful context that the page is 'cached' and that only 'approved' URLs are accepted. However, it does not disclose return shape, error behavior, or what happens with stale cache entries, so it adds only modest behavioral context 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 a single, well-structured sentence with no filler. It is front-loaded with the action ('Read') and immediately conveys the key scope ('cached official page') and selection criteria.

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?

The tool is relatively simple, and the description covers the primary purpose and input method. But with no output schema, no parameter descriptions, and no guidance on 'approved URL' requirements or the 'heading' parameter, the description leaves some meaningful gaps for an agent trying to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description clarifies 'idOrUrl' by stating it accepts a document ID or approved documentation URL, which adds meaning beyond the bare schema. However, the optional 'heading' parameter is not explained at all, and with 0% schema description coverage the description only partially compensates for the missing parameter semantics.

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 uses the specific verb 'Read' and names the exact resource ('cached official page'), while also specifying the selection mechanism ('by document ID or approved documentation URL'). This clearly distinguishes the tool from sibling tools like search or sync.

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 the use case: when you have a document ID or approved URL and want to read the page content. However, it does not explicitly mention alternatives (e.g., beamng_docs_search) or provide when-not-to-use guidance, leaving the guidance implicit rather than explicit.

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

beamng_docs_syncSynchronize BeamNG documentationB

Refresh the bounded local index from official BeamNG modding pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo
categoryNo
maxPagesNo

TDQS

B3.3/5.0
Behavior3/5

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

The description adds useful context with 'bounded' and 'official pages', but it does not disclose operational behaviors such as network dependency, potential delays, or whether the refresh replaces or merges existing data. Annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) already indicate it's a non-read-only, side-effecting operation, so the description is consistent but not highly informative.

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 main action and object. There is no redundant wording, and it adheres to an efficient structure without losing essential intended meaning.

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 tool with three optional parameters and no output schema. It omits parameter explanations, usage context (e.g., when to run a sync before searching), and effects on the existing local index. An agent would lack critical details to invoke it correctly and confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description should explain parameters like 'force', 'category', and 'maxPages'. It does not mention any of them. While the names are somewhat self-explanatory, their precise semantics (e.g., what 'force' forces, how 'category' filters, what 'maxPages' limits) remain ambiguous, requiring the agent to infer or probe.

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 what the tool does: 'Refresh the bounded local index from official BeamNG modding pages.' It uses a specific verb ('refresh'), identifies the resource ('bounded local index'), and mentions the source ('official BeamNG modding pages'). This distinguishes it from sibling search/get tools, which query rather than update the index.

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 provided on when to use this tool versus alternatives like beamng_docs_search or beamng_docs_get. The description merely states the action without explaining prerequisites, triggers (e.g., stale index), or scenarios where this tool is preferred.

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

beamng_mod_packagePackage a BeamNG modB

Validate and create a deterministic BeamNG-compatible ZIP archive.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo
outputYes
sourceYes
profileNoauto
overwriteNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already cover the read/write and destructive hints, and the description adds useful behavioral context such as 'deterministic' and 'BeamNG-compatible'. However, it does not disclose details like validation failure behavior, how determinism is achieved, or potential side effects on source files.

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, concise sentence that is front-loaded with the main action. It contains no filler or redundant information, though it is extremely brief.

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?

With 5 parameters and no output schema, the description is far from complete. It does not describe parameter semantics, return values, or usage scenarios, making it insufficient for an agent to correctly invoke the tool without additional information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description mentions no parameters whatsoever. It fails to explain the meaning of source, output, force, profile, or overwrite, leaving the agent entirely reliant on parameter names.

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 function with specific verbs ('Validate and create') and a distinct resource ('BeamNG-compatible ZIP archive'). This distinguishes it from sibling tools like beamng_mod_validate (which only validates) and beamng_mod_scaffold (which generates files).

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, nor does it mention any prerequisites or exclusions. The agent is left to infer that packaging is the intended use, but no explicit context or sibling differentiation is provided.

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

beamng_mod_scaffoldScaffold a BeamNG modC

Create a safe minimal text-only mod structure under the configured workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
authorYes
dryRunNo
modTypeYes
overwriteNo
descriptionNo
destinationYes
displayNameYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations only indicate that the tool is not read-only and not destructive, which already tells the agent it performs a mutation. The description adds 'safe' but does not disclose crucial behavioral traits such as the default dryRun behavior, overwrite semantics, or that it actually creates files/directories. This leaves significant side effects undisclosed.

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 sentence of 13 words, front-loaded with the verb and clear resource. It is appropriately concise and free of filler. However, given the tool's complexity and the lack of parameter details, a slightly longer description providing key caveats (e.g., dry-run default) would be warranted, so it loses a point for under-specification.

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?

With 8 parameters, 5 required, no output schema, and no description of workflow or file creation behavior, the current description is insufficient for correct invocation. The agent lacks guidance on what 'scaffold' entails, what paths to use, how the overwrite/dryRun flags interact, and how this fits with sibling tools like validate and package.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameter meanings, but it does not mention any parameters. The agent is left with only parameter names (e.g., slug, destination, modType) and enum values, with no explanation of required format, path interpretation, or relationships. This is a critical gap.

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 uses a specific verb ('Create') and identifies the resource ('safe minimal text-only mod structure') with clear qualifiers ('under the configured workspace'). This effectively distinguishes it from sibling tools like beamng_mod_write_files (which writes arbitrary files) and beamng_mod_package (which packages a mod).

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 implies usage for bootstrapping a new mod but provides no explicit guidance on when to use this tool versus alternatives such as beamng_mod_write_files or beamng_mod_validate. It also lacks exclusions or prerequisites (e.g., workspace must be configured), leaving the agent to infer the appropriate context.

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

beamng_mod_validateValidate a BeamNG modA
Read-only

Statically validate mod structure, JBeam/JSON/materials, metadata, paths, and references.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootYes
strictNo
profileNoauto

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description adds 'statically' which clarifies that it analyzes files without executing the game. This is valuable behavioral context beyond the annotation. It also lists the validation targets, giving insight into what is checked. No contradictions with annotations are present.

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 sentence, highly concise and front-loaded with the verb. It contains no redundant words. However, it omits important contextual details that a second sentence could address without significant bloat. It is efficient but slightly under-specified for the tool's complexity.

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 three parameters, no output schema, and only the readOnlyHint annotation, the description leaves significant gaps. It does not describe what the tool returns, how to interpret results, or how parameters affect validation. The static validation scope is listed, but return behavior and usage conditions are absent, making the tool difficult to use correctly without external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not define any of the three parameters (root, strict, profile). It does not explain that root is the mod path, strict controls validation strictness, or the meaning of the profile enum. The description lists validation areas but not how parameters modify behavior, so it fails to compensate for the schema gaps.

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 uses a specific verb 'validate' and enumerates the validation scope (mod structure, JBeam/JSON/materials, metadata, paths, references), clearly distinguishing from sibling tools like beamng_mod_scaffold or beamng_mod_package. It clearly states what the tool does and what it covers.

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?

No explicit guidance is given on when to use this tool versus alternatives. The verb 'validate' implies it is for checking existing mods, and the sibling tool names suggest the broader workflow, but the description does not state exclusions or name specific alternatives. Usage is only implied through the purpose.

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

beamng_mod_write_filesWrite BeamNG mod text filesA
Destructive

Atomically write a bounded set of UTF-8 files inside the configured workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYes
dryRunNo
overwriteNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, so the description adds value by disclosing atomicity, bounded input, UTF-8 encoding, and workspace confinement. These behavioral traits go beyond what the structured annotations provide.

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, front-loaded sentence that includes the action and key constraints without filler. It is concise and easy to scan.

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?

Atomicity and workspace bounds add useful context, but the description leaves out crucial behavior like overwrite semantics, dry-run behavior, and how this tool relates to scaffolding or validation siblings. With no output schema, it should provide more operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, but it only mentions 'a bounded set of UTF-8 files' without explaining the path/content structure or the dryRun and overwrite parameters. Most parameter semantics remain undocumented.

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 action 'write' and the resource 'a bounded set of UTF-8 files inside the configured workspace.' It distinguishes itself from sibling tools like docs search, validate, and package, which are not primary file-writing operations.

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 the tool is for writing files but gives no explicit when-to-use or when-not-to-use instructions. It mentions workspace confinement and atomicity, but does not contrast with alternatives like beamng_mod_scaffold or beamng_mod_validate.

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. 9 tool updatesv1.0.0
    • First observedbeamng_best_practices
    • First observedbeamng_docs_get
    • First observedbeamng_docs_search
    • First observedbeamng_docs_sync
    • First observedbeamng_mod_package
    • First observedbeamng_mod_scaffold
    • First observedbeamng_mod_validate
    • First observedbeamng_mod_write_files
    • First observedbeamng_source_search

TDQS

B3.3/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have clearly distinct purposes: docs search/get/sync act on documentation, source_search on local source files, and the mod_* tools form a scaffolding→writing→validation→packaging pipeline. The only mild overlap is between beamng_mod_scaffold and beamng_mod_write_files, but scaffold creates structure while write_files writes arbitrary file content, so they are separable.

Naming Consistency4/5

Names follow a strong snake_case pattern with the beamng_ prefix, and most use a verb-noun construction (docs_search, source_search, mod_validate, mod_package). The slight outlier is beamng_best_practices, which is noun-only and breaks the verb-led pattern.

Tool Count5/5

Nine tools is well within the ideal range for a focused modding server. Each tool contributes a distinct stage or capability: documentation access, source lookup, scaffolding, file writing, validation, packaging, and guidance, without unnecessary bloat.

Completeness4/5

The toolset covers the core mod creation lifecycle: research docs, scaffold, write files, validate, and package. Minor gaps include lack of a tool to list or read existing mod files in the workspace, and no explicit update/delete operations, but the workflow is otherwise complete for building a mod.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server for Arma Reforger and Enfusion engine modding that enables users to create mods, search API classes, and generate scripts through natural language. It provides a comprehensive suite of tools for scaffolding addons, generating prefabs, and building projects using the Workbench CLI.
    50 npm
    14
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a local MCP server for searching and retrieving documentation from 22+ open-source projects, enabling AI coding assistants to access up-to-date docs without network dependency.
    11 npm
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local, security-focused MCP server for Arma Reforger modding, providing AI coding assistants with tools for project discovery, script analysis, resource validation, log diagnosis, API documentation search, file editing, and Workbench automation.
    13
    2
    MIT