Skip to main content
Glama
omar-hindawi98

goldsrc-query-mcp

goldsrc-query-mcp

npm version license CI E2E

AI 어시스턴트가 goldsrc-query 라이브러리를 사용하여 GoldSrc 게임 서버(Half-Life, Counter-Strike 1.6 등)를 쿼리할 수 있게 해주는 MCP 서버입니다.


도구

도구

설명

ping

밀리초 단위의 왕복 지연 시간

get_server_info

서버 이름, 맵, 플레이어 수, VAC 상태 등

get_players

이름, 점수, 게임 내 시간이 포함된 현재 플레이어 목록

get_rules

모든 서버 cvars

get_all

서버 정보, 플레이어 목록, 규칙을 한 번에

send_rcon

단일 RCON 명령을 보내고 응답을 반환

send_rcon_batch

단일 인증 연결을 통해 여러 RCON 명령 전송


Related MCP server: mc-rcon-mcp

설치

npx goldsrc-query-mcp

또는 전역으로 설치:

npm install -g goldsrc-query-mcp

요구 사항: Node.js >=20.12.0


사용법

전송 방식

서버는 MCP_TRANSPORT 환경 변수(또는 HTTP의 경우 --http 플래그)를 통해 선택되는 세 가지 전송 방식을 지원합니다.

stdio (기본값)

node dist/index.js
# or
npx goldsrc-query-mcp

HTTP

MCP_TRANSPORT=http MCP_PORT=3000 node dist/index.js
# shorthand flag
node dist/index.js --http

HTTPS

MCP_TRANSPORT=https MCP_PORT=443 MCP_TLS_CERT=cert.pem MCP_TLS_KEY=key.pem node dist/index.js

MCP_TLS_CERTMCP_TLS_KEY를 모두 설정해야 합니다. 둘 중 하나라도 없으면 서버는 오류와 함께 종료됩니다.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json(Windows)에 추가:

{
  "mcpServers": {
    "goldsrc": {
      "command": "npx",
      "args": ["goldsrc-query-mcp"]
    }
  }
}

예시 프롬프트

  • "192.168.1.10:27015 서버는 어떤 맵을 실행 중인가요?"

  • "cs.example.com 서버에는 몇 명의 플레이어가 있나요?"

  • "내 서버의 모든 cvars를 보여주세요."

  • "비밀번호 secret으로 192.168.1.10 서버에서 sv_gravity 800을 실행하세요."

  • "내 서버에서 모든 봇을 추방하고 맵을 de_dust2로 변경하세요."


도구 참조

모든 도구는 address(필수), port(기본값 27015), timeout(기본값 3000ms)을 받습니다.

ping

밀리초 단위의 왕복 지연 시간을 반환합니다.

get_server_info

서버 메타데이터를 JSON으로 반환합니다 - 이름, 맵, 플레이어 수, VAC 상태, 서버 유형, 환경 및 선택적 EDF 필드.

get_players

플레이어 목록을 JSON으로 반환합니다 - 플레이어별 인덱스, 이름, 점수 및 시간(게임 내 초).

get_rules

모든 서버 cvars를 JSON으로 반환합니다 - 총 개수와 { name, value } 쌍 목록.

get_all

서버 정보, 플레이어 목록, 규칙을 단일 호출로 반환합니다. get_server_info, get_players, get_rules를 개별적으로 호출하는 대신 이 도구를 사용하세요.

send_rcon

address:  "192.168.1.10"
password: "your_rcon_password"
command:  "status"

단일 RCON 명령을 보내고 서버 응답을 반환합니다.

send_rcon_batch

address:  "192.168.1.10"
password: "your_rcon_password"
commands: ["sv_gravity 800", "mp_friendlyfire 1", "changelevel de_dust2"]

단일 인증 연결을 통해 여러 RCON 명령을 전송합니다. { command, response } 쌍의 배열을 반환합니다. 둘 이상의 명령을 실행할 때는 send_rcon 대신 사용하세요.

Available Tools

7 tools
get_allGet AllA
Read-only

Get server info, player list, and rules in one call. Use this instead of calling get_server_info, get_players, and get_rules separately.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
timeoutNoRequest timeout in milliseconds (default: 3000)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the tool as read-only and non-destructive, and the description adds useful context that it aggregates multiple data types into a single call. While not detailing response structure, it covers the key behavioral nuance of being a combined operation.

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 only two sentences long, with the first sentence stating the purpose and the second giving usage direction. Every word earns its place, making it highly 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?

For a read-only tool with no output schema, the description communicates the core purpose and what data will be returned (server info, players, rules). While it does not explain the exact response structure, it gives enough context for an agent to decide when to invoke this tool. A slightly richer description of return format would push it to 5.

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 input schema provides 100% coverage with descriptions and defaults for all parameters (address, port, timeout). The description does not add any parameter-specific meaning, so the baseline score of 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 exactly what the tool does: it gets server info, player list, and rules in one call. It also explicitly names the sibling tools it replaces, making the distinction clear.

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

Usage Guidelines5/5

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

It explicitly recommends using this tool instead of calling get_server_info, get_players, and get_rules separately. This provides clear when-to-use guidance and names the alternatives.

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

get_playersGet PlayersA
Read-only

Get the current player list with names, scores, and time in-game. Use to see who is on a server.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
timeoutNoRequest timeout in milliseconds (default: 3000)

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that it returns 'names, scores, and time in-game,' which clarifies the data behavior but does not disclose additional traits like pagination or network specifics. This is adequate but not rich, matching a 3 given annotation coverage.

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

Conciseness5/5

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

The description is two short sentences with no fluff. The main action is front-loaded ('Get the current player list'), and the second sentence adds a usage hint. Every word earns its place.

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?

For a simple read-only query tool with no output schema, the description sufficiently explains the return value (player list with names, scores, time) and the intended use case. It could mention the required game server context, but the sibling tools imply a server query environment. Overall, it is complete enough for an agent to select and invoke 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 100%, with all three parameters (address, port, timeout) having descriptions in the schema. The tool description itself does not add parameter-level detail, so it relies on the schema. Baseline 3 is appropriate because the schema handles parameter semantics fully.

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: 'Get the current player list with names, scores, and time in-game.' This specific verb and resource make it easy to understand what the tool does, and it distinguishes itself from siblings like get_server_info or get_rules by focusing on player data.

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 a clear usage context: 'Use to see who is on a server.' This tells the agent when to invoke the tool, though it does not explicitly mention alternatives or exclusions. That fits the 'clear context, no exclusions' level.

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

get_rulesGet RulesA
Read-only

Get all server cvars. Use to inspect server configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
timeoutNoRequest timeout in milliseconds (default: 3000)

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds that it returns 'all server cvars' but gives no further behavioral detail such as response format or timeout behavior.

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 succinct sentences that front-load the purpose without any redundant or vague phrasing.

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?

For a simple read-only tool, the description adequately covers purpose and usage. No output schema exists, but the return is implied ('server cvars'), and the annotation fills the safety context. Slight improvement possible by describing the return format.

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 descriptions cover 100% of parameters (address, port, timeout) with clear explanations, so the description adds no parameter-specific meaning. 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 clearly states 'Get all server cvars' with a specific verb and resource, and 'inspect server configuration' elaborates the intent. This distinguishes it from sibling tools like get_players and ping, which address different resources.

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 usage context ('Use to inspect server configuration') but does not explicitly mention when not to use or compare with alternatives like get_server_info. No exclusions are stated.

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

get_server_infoGet Server InfoA
Read-only

Get server metadata: name, map, player counts, VAC status, and more. Use to get an overview of a server or check if it is online.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
timeoutNoRequest timeout in milliseconds (default: 3000)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the 'check if it is online' behavior, but does not disclose potential timeouts, error handling, or what happens if the server is unreachable. It adds some value beyond annotations but is not rich in behavioral detail.

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?

Two sentences are concise and front-loaded with the core action. The phrase 'and more' is slightly vague but not wasteful. Overall well-structured and easy to scan.

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?

For a simple read-only query tool with 3 parameters and no output schema, the description covers the purpose, key output fields, and a usage scenario. It is not overly complex, so this level of detail is sufficient.

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 descriptions for all parameters (address, port, timeout). The description does not add extra parameter guidance beyond the schema, so the baseline of 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 retrieves server metadata and lists specific fields (name, map, player counts, VAC status). It distinguishes from sibling tools like get_players and get_rules by focusing on an overview, though it does not explicitly name alternatives.

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?

Provides a clear use case: 'overview of a server or check if it is online.' It implies when to use the tool but does not explicitly exclude use cases for sibling tools like ping or get_all, which could also handle online status or full information.

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

pingPingA
Read-only

Measure round-trip latency to a GoldSrc server. Use to check if a server is reachable and responsive.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
timeoutNoRequest timeout in milliseconds (default: 3000)

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description need not restate those. It adds that this is a latency measurement, but doesn't disclose output format, timeout behavior, or the network protocol used. This is adequate but not rich.

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 concise sentences, front-loaded with the action and purpose. No wasted words.

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?

The tool is simple, has read-only annotations, and no output schema. The description explains what it does and when to use it, but doesn't specify the return value (e.g., latency in ms or a boolean). Slight ambiguity, but acceptable for a basic ping 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 input schema provides 100% coverage with descriptions for all three parameters (address, port, timeout). The description adds no additional parameter semantics, so the baseline score of 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 clearly states the tool measures round-trip latency to a GoldSrc server, using a specific verb and resource. It is easily distinguished from sibling tools that retrieve server info or send RCON commands.

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?

It provides a clear use case: checking if a server is reachable and responsive. It doesn't explicitly mention alternatives or exclusions, but the context is sufficient for an agent to select this tool over the listed siblings.

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

send_rconSend RCONA
Destructive

Send a single RCON command and return the response. Use for one-off commands; prefer send_rcon_batch when sending multiple commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
commandYesCommand to execute
timeoutNoRequest timeout in milliseconds (default: 3000)
passwordYesRCON password

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, covering the mutation/destruction risk. The description adds that it sends a single command and returns the response, which is helpful but does not elaborate on side effects, authorization, or response format. Credit is given for the scope clarification, but no significant context is added beyond 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?

Two concise sentences: the first states the core function, the second gives usage guidance. No wasted words, and information is front-loaded.

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?

Description covers purpose, return value, and usage context. It distinguishes from send_rcon_batch and aligns with the destructive annotation. Given the simple tool nature and rich schema, nothing else is needed.

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?

All five parameters have schema descriptions (100% coverage), so the schema fully documents each parameter. The tool description itself adds no parameter-specific information, so the baseline score of 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?

Description states 'Send a single RCON command and return the response,' clearly specifying the action, resource, and scope. It explicitly contrasts with sibling tool send_rcon_batch by emphasizing 'single' and noting the batch alternative.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use for one-off commands; prefer send_rcon_batch when sending multiple commands.' This clearly states when to use this tool and names the alternative for other cases.

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

send_rcon_batchSend RCON BatchA
Destructive

Send multiple RCON commands over a single authenticated connection. Use instead of rcon when running more than one command.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort number (default: 27015)
addressYesIP address or hostname
timeoutNoRequest timeout in milliseconds (default: 3000)
commandsYesCommands to execute in order
passwordYesRCON password

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds value by disclosing the single authenticated connection and the batch benefit, which goes beyond the structured data. It doesn't detail failure modes or execution order, but the annotations cover the destructive nature adequately.

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 two concise sentences. The first sentence states the core function, the second gives usage direction. No filler or redundancy.

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?

The description covers purpose and usage, and the schema documents all parameters. Annotations cover destructiveness. The only gap is the lack of mention of the return format or per-command result behavior, which is notable given there is no output schema, but the description is still sufficiently complete for an agent to select and 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 100%, with all five parameters having clear descriptions in the schema. The tool description adds no extra meaning beyond what the schema already provides, so the baseline of 3 applies.

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 sends multiple RCON commands over a single authenticated connection. It explicitly distinguishes from the sibling tool send_rcon by advising this batch variant when running more than one command, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description gives explicit usage guidance: 'Use instead of rcon when running more than one command.' This tells the agent exactly when to prefer this tool and implies that send_rcon is for single commands.

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

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: ping for latency, get_server_info for metadata, get_players for player list, get_rules for cvars, get_all for a combined query, and send_rcon/send_rcon_batch for command execution. The descriptions explicitly clarify when to use each, especially distinguishing the single vs. batch RCON tools and the combined vs. individual getters.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores: ping, get_*, send_*. This makes the toolset predictable and easy to navigate.

Tool Count5/5

With 7 tools, the server is well-scoped. Each tool serves a necessary function for querying and managing a GoldSrc server, with no redundancy or excessive bloat.

Completeness5/5

The toolset covers the full lifecycle of interacting with a GoldSrc server: checking reachability (ping), retrieving server info, players, and rules, fetching everything in one call, and sending RCON commands in both single and batch modes. There are no obvious gaps.

Maintenance

ActivityMaintained
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

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/omar-hindawi98/goldsrc-query-mcp'

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