Skip to main content
Glama
cebarks

spt-forge-mcp

by cebarks

spt-forge-mcp

MCP server for the SP-Tarkov Forge API. Exposes Forge endpoints as MCP tools over stdio, letting LLMs search mods, check updates, resolve dependencies, browse addons, and list SPT versions.

Setup

npm install
npm run build

Claude Code

Add to your MCP config (.claude/settings.json or global settings):

{
  "mcpServers": {
    "spt-forge": {
      "command": "node",
      "args": ["/path/to/spt-forge-mcp/dist/index.js"]
    }
  }
}

Related MCP server: mcp-cli-catalog

Tools

Tool

Description

search_mods

Full-text search and filter mods (name, category, SPT version, Fika compatibility)

get_mod

Get full details for a mod by ID

get_mod_versions

Paginated version history with dependencies

check_mod_updates

Check for updates given installed mod versions and target SPT version

resolve_mod_dependencies

Recursive dependency tree with conflict detection

search_addons

Search addons (supplemental mod content)

get_addon

Get full addon details by ID

get_addon_versions

Paginated addon version history

resolve_addon_dependencies

Recursive addon dependency tree

list_categories

List all mod categories

get_category

Get a single category by ID or slug

get_spt_versions

List SPT versions with mod counts

ping

Forge API health check

Available Tools

13 tools
check_mod_updatesCheck Mod UpdatesA

Check for available updates for installed mods against a target SPT version. Handles dependency validation and prerelease logic.

ParametersJSON Schema
NameRequiredDescriptionDefault
modsYesComma-separated identifier:version pairs. Identifier can be mod ID or GUID. E.g. '5:1.2.0,com.example.mod:2.0.5'
spt_versionYesTarget SPT version to check compatibility against

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so description carries full burden. It discloses the core checking behavior and mentions dependency validation and prerelease logic, but does not specify if the operation is read-only, any side effects, or required permissions. Adequate but not fully transparent.

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?

Two sentences, front-loaded with key action, no extraneous content. Every word earns its place.

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?

With low complexity (2 params, no output schema, no annotations), the description covers purpose and some behavior but lacks return value information and usage guidance. Adequate but could be more complete.

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 description adds minimal value beyond restating overall purpose. The schema already fully describes the parameters. Baseline 3 is appropriate.

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 states 'Check for available updates for installed mods against a target SPT version' with specific verb and resource, and mentions dependency and prerelease handling. It clearly distinguishes from siblings like get_mod_versions or resolve_mod_dependencies.

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 when to use (check updates) but does not provide explicit alternatives or when-not-to-use scenarios. Sibling tools suggest related functionality, but no guidance is given to differentiate.

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

get_addonGet Addon DetailsB

Get full details for a specific addon by its numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoRelationships: versions, license, mod
addon_idYesThe addon's numeric ID

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It implies a read-only operation ('get') but does not disclose error handling, authentication needs, or response format. While not misleading, it lacks depth.

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?

A single, clear sentence of 11 words with no redundancy. Every word contributes to the purpose.

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?

For a simple retrieval tool, the description is adequate but incomplete. It does not explain what 'full details' entails, and without an output schema, the agent cannot anticipate the response structure. More context on expected results would improve completeness.

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 coverage is 100% with clear descriptions for both parameters. The tool description adds only 'by its numeric ID', which is already stated in the schema. Thus, no additional meaning beyond the schema.

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 identifies the tool's action ('Get full details') and resource ('specific addon'), and specifies the input method ('by its numeric ID'). This distinguishes it from sibling tools like 'get_addon_versions' which focus on specific aspects, but it does not explicitly contrast with all siblings.

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 such as 'search_addons' or 'get_mod'. Given the variety of sibling tools, some usage context would be beneficial.

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

get_addon_versionsGet Addon VersionsC

Get the full version history for an addon. Includes mod version constraints, download counts, and file sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoSort field, e.g. '-published_at' for newest first
includeNoRelationships to include: virus_total_links
addon_idYesThe addon's numeric ID
per_pageNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits like read-only status, side effects, or rate limits. It only states what is returned, not any constraints or error conditions. Pagination and sorting are implied by parameters but not described. The description adds minimal value beyond the basic action.

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 very concise: two sentences, front-loaded with core purpose. The second sentence adds output details efficiently. However, it lacks structure (e.g., bullet points) and could be slightly more organized, but overall it is not wasteful.

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 5 parameters, no output schema, and no annotations, the description is significantly incomplete. It does not explain pagination (page, per_page), filtering (sort, include), or error handling. The output is partially described but missing details on full response structure. The description leaves many gaps for an agent.

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 description coverage is 60%, meaning some parameters have descriptions (e.g., sort, include, addon_id), but the tool description adds no parameter-level detail. It does not explain how to use sort values, include options, or pagination. The description merely lists output fields, which are not parameters.

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 'Get the full version history for an addon', which is a specific verb and resource. It also lists included data (mod version constraints, download counts, file sizes), distinguishing it from sibling tools like get_mod_versions (which likely targets mods) and get_addon (returns addon details, not history).

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 explicit guidance on when to use this tool versus alternatives. The description does not mention exclusions, prerequisites, or preferred contexts. The phrase 'for an addon' implies a use case, but siblings like get_mod_versions or get_addon could overlap, and no comparison is provided.

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

get_categoryGet CategoryA

Get a single mod category by its numeric ID or slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesCategory ID (numeric) or slug string

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It correctly indicates a read operation ('get') but does not mention any potential side effects, permissions, or rate limits. For a simple read tool, this is adequate but not exceptionally transparent.

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, complete sentence that is front-loaded with the purpose. No unnecessary words or fluff.

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 low complexity (one parameter, no output schema), the description adequately covers what the tool does and how to use it. It lacks details about the return value but is sufficient for a simple lookup tool.

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?

The schema coverage is 100% with one parameter fully described. The description's mention of 'numeric ID or slug' aligns with the schema description, adding no new meaning beyond what the schema provides. Baseline score is appropriate.

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 verb 'Get' and the resource 'single mod category', and specifies the identification method (numeric ID or slug). It distinguishes itself from the sibling 'list_categories' which retrieves multiple categories.

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 when to use this tool (to fetch a single category) but does not explicitly state when not to use it or compare with alternatives like 'list_categories'. The mention of 'by its numeric ID or slug' provides usage context for the parameter.

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

get_modGet Mod DetailsA

Get full details for a specific SP-Tarkov mod by its numeric ID. Includes description, versions, license, and category by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
mod_idYesThe mod's numeric ID
includeNoComma-separated relationships: versions, license, category, source_code_links

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool returns description, versions, license, and category by default and hints at the 'include' parameter for extra relationships. However, it lacks details on response format, pagination, rate limits, or authentication needs.

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?

Two sentences, perfectly front-loaded with the core purpose. No unnecessary words or redundancy.

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?

No output schema is provided, but the description lists the categories of information returned. For a tool with two parameters and default behavior, it is adequate but lacks detail on response structure and edge cases.

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 baseline is 3. The description adds context that default fields are returned and that 'include' can add relationships, but does not elaborate on the meaning of each include value beyond what the schema provides.

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 verb 'Get', the resource 'full details for a specific SP-Tarkov mod', and the unique identifier (numeric ID). It lists included information, distinguishing it from sibling tools like get_mod_versions and check_mod_updates.

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. For instance, it does not mention that get_mod_versions might be preferred if only versions are needed, nor does it specify prerequisites or exclusions.

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

get_mod_versionsGet Mod VersionsA

Get the full version history for a mod. Includes SPT version constraints, download counts, Fika compatibility status, and dependency info.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoSort field, e.g. '-published_at' for newest first
mod_idYesThe mod's numeric ID
includeNoComma-separated relationships to include: dependencies, virus_total_links
per_pageNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description must carry burden. It states it retrieves version history (read-only) and lists included info, but omits pagination behavior, rate limits, or auth requirements.

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?

Single sentence with clear verb and resource. No fluff; front-loaded with purpose.

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?

No output schema and 5 parameters with 60% coverage. Description covers what data is returned but not pagination, sorting, or include options, leaving gaps for effective use.

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 60% but description adds no parameter-specific meaning. It does not explain page, sort, include, or per_page beyond schema descriptions, missing an opportunity to clarify usage.

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?

Description clearly states the tool gets the full version history for a mod and specifies included data (SPT constraints, downloads, Fika status, dependencies). Distinct from sibling tools like get_mod which likely returns mod details.

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 when-to-use or when-not-to-use guidance. Implied use is for version history, but no comparison with siblings like check_mod_updates or resolve_mod_dependencies.

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

get_spt_versionsGet SPT VersionsB

List available SPT versions with mod counts and release links. Useful for determining which SPT version constraint to filter mods by.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description only lists outputs. Does not disclose traits like read-only nature, required permissions, rate limits, or behavior when no versions exist. For a simple list tool, minimal transparency is given.

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?

Two sentences with zero fluff. First sentence states what it does, second provides context on utility. Efficient and front-loaded.

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?

Given no output schema, the description covers returned data (versions, counts, links) but omits parameter details. Schema provides pagination params, but since descriptions are missing, it's a gap. Adequate for a simple list tool but not fully complete.

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 description does not mention the parameters (page, per_page). The name 'per_page' is somewhat self-explanatory but 'page' is not; description adds no value beyond schema 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?

Clearly states 'List available SPT versions' with included data (mod counts, release links) and a specific use case (determining version constraint for filtering mods). Distinct from sibling tools like get_mod_versions or list_categories.

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?

Explicitly mentions a use case: 'determining which SPT version constraint to filter mods by.' However, it does not provide when-not-to-use guidance or mention alternative tools.

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

list_categoriesList Mod CategoriesA

List all available mod categories on the Forge. Useful for discovering category slugs to filter searches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.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. It only states the purpose and does not disclose behavioral traits such as caching, response format, or any side effects. Given the simplicity, minimal disclosure is acceptable but not exemplary.

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 with two sentences, each serving a clear purpose: stating the function and providing usage guidance. No unnecessary words.

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?

Given the simplicity (no params, no output schema), the description is mostly complete. However, it could be improved by explicitly stating the output format (e.g., list of category names and slugs). The current hint is sufficient but not thorough.

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?

There are no parameters, so the description does not need to add meaning beyond the schema. The mention of 'category slugs' hints at output semantics, compensating slightly for the lack of output 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 it lists all available mod categories on the Forge, which is a specific verb and resource. It also distinguishes itself from siblings as the only tool for listing categories.

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 indicates it is useful for discovering category slugs to filter searches, providing context for when to use it. However, it does not explicitly mention when not to use it or list alternatives.

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

pingPing Forge APIA

Health check — returns pong if the Forge API is reachable.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It accurately describes return value ('pong') and confirms it's a simple reachability test with no side effects. Lacks detail on rate limits or idempotency, but for a ping tool this is sufficient.

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?

Extremely concise single sentence with no redundant words. Front-loaded with 'Health check'. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and simple purpose, description is fully complete. Tells agent what it does and what it returns, enabling correct invocation.

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?

No parameters exist, and schema coverage is 100%. Description adds no param info, but baseline for 0 params is 4. No need for additional 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?

Description clearly states it's a health check that returns pong if the API is reachable. Uses specific verb 'ping' and resource 'Forge API'. No ambiguity or tautology.

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?

States it's a health check, implying use to test API reachability. However, no explicit when-not-to-use or alternatives among siblings given. Adequate but minimal guidance.

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

resolve_addon_dependenciesResolve Addon DependenciesA

Resolve the full recursive dependency tree for one or more addon versions. Uses addon ID or slug as identifier (not GUID).

ParametersJSON Schema
NameRequiredDescriptionDefault
addonsYesComma-separated identifier:version pairs. Identifier is addon ID or slug. E.g. '12:1.0.0,my-addon:2.1.0'

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that it resolves the full recursive tree and the identifier format, but does not mention side effects (e.g., no modifications), rate limits, or return behavior. Adequate but not comprehensive.

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?

Two sentences, no wasted words, front-loaded with key information. Ideal conciseness.

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?

No output schema provided, and the description does not explain the return format (e.g., tree structure). For a dependency resolution tool, the output nature is important context that is missing.

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 coverage is 100%, baseline 3. The description adds minimal value beyond schema, only clarifying the identifier is not GUID. The schema itself provides a detailed example and format.

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 ('Resolve the full recursive dependency tree'), the resource ('addon versions'), and the identifier type ('addon ID or slug, not GUID'). It effectively distinguishes from the sibling tool 'resolve_mod_dependencies' by specifying 'addon'.

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 for resolving addon dependencies but does not provide explicit guidance on when to use this tool versus alternatives like 'resolve_mod_dependencies'. No 'when-not' or prerequisites are mentioned.

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

resolve_mod_dependenciesResolve Mod DependenciesB

Resolve the full recursive dependency tree for one or more mod versions. Detects version conflicts and provides download links.

ParametersJSON Schema
NameRequiredDescriptionDefault
modsYesComma-separated identifier:version pairs. E.g. '5:1.2.0,com.example.mod:2.0.5'

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description bears full burden for behavioral disclosure. It conveys key behaviors (recursive resolution, conflict detection, download links) but omits details about side effects, authentication needs, rate limits, or error handling. The read vs. write nature is not explicitly stated.

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 that covers the essential purpose and outputs without unnecessary words. It is appropriately front-loaded and avoids verbosity.

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?

Given the tool's complexity (recursive dependency resolution with conflict detection) and lack of an output schema, the description is brief and does not explain the output format or how results are structured. It provides enough to understand the core function but lacks detail for complete agent understanding.

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 coverage is 100% and the parameter description in the input schema already explains the format ('Comma-separated identifier:version pairs'). The tool description adds little beyond what the schema provides, warranting the baseline score of 3.

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 resolves the full recursive dependency tree for mod versions, detecting conflicts and providing download links. It uses a specific verb ('Resolve') and resource ('mod dependencies'), but does not explicitly differentiate from the sibling 'resolve_addon_dependencies', slightly reducing clarity.

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 on when to use this tool versus alternatives like 'check_mod_updates' or 'resolve_addon_dependencies'. There are no hints about prerequisites, context, or conditions for use.

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

search_addonsSearch AddonsB

Search SP-Tarkov addons (supplemental content for mods, like music packs or texture overrides).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoSort field, e.g. '-published_at'
queryNoFull-text search query
includeNoRelationships to include: versions, license, mod
per_pageNo
filter_nameNoFuzzy filter by name
filter_mod_idNoFilter by parent mod ID(s), comma-separated

TDQS

B3.3/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 full burden. It only says 'Search...addons' without disclosing behavioral traits such as pagination, sorting, filtering behavior, required auth, or output format. The agent lacks cues about limitations or side effects.

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, front-loaded sentence with no wasted words. It clearly defines the tool's domain. However, it could be slightly more structured (e.g., brief example) without losing conciseness.

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 7 parameters, no output schema, and no annotations, the description is too sparse. It omits how to use pagination, sorting, filters, or what the response looks like. The agent lacks sufficient context to invoke the tool correctly.

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 71% (5 of 7 parameters have descriptions). The description does not add any parameter meaning beyond what the schema already provides. A score of 3 reflects adequate but not enhanced 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 clearly states the verb 'Search' and the resource 'SP-Tarkov addons', and defines addons as 'supplemental content for mods', distinguishing it from sibling tools like search_mods which search for mods themselves.

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 when to use (searching for addons rather than mods) but does not explicitly state when not to use or provide alternatives. No exclusions or context are given.

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

search_modsSearch ModsA

Search and filter SP-Tarkov mods on the Forge. Supports full-text search via query, filtering by name, category, SPT version, Fika compatibility, and more. Returns paginated results.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
sortNoSort by field(s). Prefix with - for DESC. Options: name, featured, created_at, updated_at, published_at. E.g. '-published_at'
queryNoFull-text search across mod name, slug, and description (powered by Meilisearch)
includeNoComma-separated relationships to include: versions, license, category, source_code_links
per_pageNoResults per page (max 50)
filter_nameNoFuzzy filter by mod name
filter_featuredNoFilter to featured mods only
filter_spt_versionNoFilter mods compatible with an SPT version constraint (e.g. '^3.11.0')
filter_category_slugNoFilter by category slug(s), comma-separated (e.g. 'weapons,gear')
filter_fika_compatibleNoFilter to only Fika-compatible mods

TDQS

A4.2/5.0
Behavior3/5

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

No annotations exist, so description must disclose behavior. It mentions returned paginated results and support for various filters but omits side effects, mutability, or rate limits. Adequate but not thorough for a search 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?

Two sentences with no wasted words. First sentence states purpose, second adds details on query and filtering. Front-loaded and efficient.

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 10 optional parameters, no output schema, and no annotations, the description covers the main functionality and pagination. Could mention maximum per_page limit or that multiple filters combine with AND, but not critical.

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?

Schema coverage is 100% with each parameter well-described. The description adds value by summarizing the filtering capabilities and grouping parameters (e.g., 'filtering by name, category, SPT version, Fika compatibility') which helps organize the parameter set.

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?

Description clearly states the tool searches and filters SP-Tarkov mods with specific verb 'Search and filter' and resource 'SP-Tarkov mods'. It distinguishes from siblings like 'get_mod' (single mod retrieval) and 'search_addons' (different resource).

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?

Provides clear context for when to use: full-text search and filtering by multiple criteria. Though it doesn't explicitly mention when not to use, sibling tool names (e.g., get_mod, check_mod_updates) imply alternatives.

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. 13 tool updatesv1.0.0
    • First observedcheck_mod_updates
    • First observedget_addon
    • First observedget_addon_versions
    • First observedget_category
    • First observedget_mod
    • First observedget_mod_versions
    • First observedget_spt_versions
    • First observedlist_categories
    • First observedping
    • First observedresolve_addon_dependencies
    • First observedresolve_mod_dependencies
    • First observedsearch_addons
    • First observedsearch_mods

TDQS

A3.8/5.0
Disambiguation5/5

Tools are clearly separated by entity type (mod vs addon) and action (search, get, list, resolve, check). Each tool has a distinct purpose, with no overlapping functionality. For example, `search_mods` and `search_addons` target different content categories, and `get_mod` vs `get_mod_versions` provide different levels of detail.

Naming Consistency5/5

All tool names follow a consistent `verb_noun` pattern using snake_case (e.g., `check_mod_updates`, `get_addon_versions`, `list_categories`). There is no mixing of styles, and verbs accurately describe the operation (get, search, list, resolve, check, ping).

Tool Count5/5

With 13 tools, the set is well-scoped for a mod repository query interface. It covers search, details, versions, dependencies, categories, and health check without unnecessary bloat. The number aligns with typical MCP servers (3-15 tools).

Completeness5/5

The tool surface appears complete for browsing and resolving dependencies in the SP-Tarkov mod ecosystem. It includes search, detail retrieval, version history, dependency resolution, category exploration, and update checking. The workflow from discovering mods via search to resolving dependencies is fully supported, with no obvious dead ends.

Maintenance

ActivityStale
ResponsivenessNo issues

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
    Not graded
    quality
    D
    maintenance
    MCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that publishes CLI tools on your machine for discoverability by LLMs
    14
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that exposes RESTForge capabilities to AI agents, enabling them to set up, configure, generate code, and manage RESTForge projects through natural language.
    29
    44
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    The Forge Engine runtime: a thin, MIT-licensed proxy that connects any MCP client to Forge — the design spec AI coding agents read before building and report back to. Serves the full 54-tool surface; discovery works signed out, tool calls authenticate.
    11
    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/cebarks/spt-forge-mcp'

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