Skip to main content
Glama
railwayapp

Railway MCP Server

Official
by railwayapp

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have distinct purposes targeting specific Railway resources like projects, environments, services, deployments, and variables, with clear action verbs. However, 'deploy' and 'deploy-template' could be confused as both handle deployment, though their descriptions clarify one is for directory uploads and the other for templates.

    Naming Consistency4/5

    Tool names predominantly follow a consistent verb-noun pattern (e.g., create-environment, list-services, set-variables), with clear and readable conventions. Minor deviations include 'check-railway-status' using a verb-noun-adjective structure and hyphenated names throughout, but overall consistency is high.

    Tool Count5/5

    With 14 tools, the count is well-scoped for managing Railway projects, covering setup, deployment, logging, and resource management. Each tool serves a clear purpose without redundancy, fitting typical server tool ranges and the domain's complexity.

    Completeness5/5

    The tool set provides comprehensive coverage for Railway operations, including project and environment creation, deployment, logging, variable management, and listing resources. There are no obvious gaps; agents can perform full lifecycle management from setup to monitoring.

  • Average 3.3/5 across 14 of 14 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

  • This repository is archived. Archived repositories automatically receive an F maintenance tier.

  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions creation and linking but fails to detail critical aspects like permissions required, whether this is a destructive operation, error handling, or what happens if the project already exists. This leaves significant gaps in understanding the tool's 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?

    The description is a single, clear sentence that efficiently conveys the core functionality without unnecessary words. It is front-loaded with the main action and avoids redundancy, making it highly concise and well-structured.

    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 the complexity of creating and linking a project with no annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It lacks details on outcomes, error conditions, or integration with sibling tools, making it incomplete for effective use.

    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 50% (only 'workspacePath' has a description), and the description does not add any parameter-specific details beyond what the schema provides. It implies parameters are needed but doesn't explain their roles or constraints, resulting in a baseline score due to moderate schema coverage.

    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 action ('Create a new Railway project') and includes an additional outcome ('and link it to the current directory'), which specifies the tool's purpose beyond just creation. However, it doesn't explicitly differentiate from sibling tools like 'create-environment' or 'link-service', which could involve similar concepts.

    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 'list-projects' for checking existing ones or 'deploy-template' for starting from a template. It lacks context about prerequisites, timing, or exclusions, leaving usage decisions unclear.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions 'Upload and deploy' implying a write operation, but doesn't disclose permissions needed, whether it's destructive, rate limits, or what happens on failure. The CI mode hint is useful but insufficient for a mutation tool.

    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 brief and front-loaded with the core action, using two efficient sentences. However, the second sentence could be more structured to clearly separate features, and it slightly under-specifies given 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?

    For a deployment tool with 4 parameters, no annotations, and no output schema, the description is inadequate. It misses behavioral context, output expectations, error handling, and differentiation from siblings, leaving significant gaps for an AI agent to understand and invoke it 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%, so the schema fully documents all parameters. The description adds minimal value by listing 'CI mode, environment, and service options' but doesn't explain semantics beyond what the schema provides, such as how defaults work or interaction effects.

    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 action ('Upload and deploy') and resource ('from the current directory'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'deploy-template' or 'list-deployments' beyond the basic action, missing specific distinctions about scope or method.

    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 like 'deploy-template' or 'check-railway-status'. It mentions supported options but doesn't specify prerequisites, exclusions, or contextual triggers, leaving usage ambiguous.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the scope ('currently linked Railway project') but fails to describe return format, pagination, error conditions, or authentication needs. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

    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, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, with zero waste.

    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 the tool's simplicity (1 parameter, no output schema, no annotations), the description is minimal but incomplete. It lacks details on return values, error handling, and usage context relative to siblings, making it insufficient for full agent understanding despite the low complexity.

    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 the schema fully documents the single parameter 'workspacePath'. The description adds no additional meaning beyond implying context about the linked project, which doesn't enhance parameter understanding. Baseline 3 is appropriate when the schema does all the work.

    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 action ('List all services') and the target resource ('for the currently linked Railway project'), providing specific verb+resource pairing. However, it doesn't distinguish this tool from sibling tools like 'list-projects' or 'list-deployments' beyond the resource type, missing explicit differentiation.

    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 like 'list-projects' or 'list-deployments', nor does it mention prerequisites such as having a linked project. It only states the basic function without contextual usage information.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states it 'shows' variables, implying a read operation without details on permissions, rate limits, or output format. It doesn't disclose whether this is a safe read, if it requires authentication, or how results are structured, leaving significant behavioral gaps.

    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, efficient sentence that front-loads the core purpose without unnecessary words. It's appropriately sized for a listing tool, with zero wasted text, making it easy to parse quickly.

    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 no annotations and no output schema, the description is incomplete for a tool with 5 parameters. It lacks details on behavioral traits, output format, or error handling, which are crucial for an agent to use it correctly. The minimal description doesn't compensate for the missing structured data.

    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 has 100% description coverage, so parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond implying 'active environment' context, which aligns with the optional 'environment' parameter but doesn't provide extra meaning. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 action ('Show') and resource ('variables for the active environment'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'set-variables' or 'list-services', which would require mentioning it's a read-only listing operation versus mutation or other resource types.

    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 minimal guidance by implying usage in the 'active environment', but lacks explicit when-to-use instructions, prerequisites, or alternatives. It doesn't clarify when to use this versus other listing tools like 'list-services' or 'list-deployments', or how it relates to 'set-variables' for mutation.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool sets environment variables, implying a write/mutation operation, but doesn't mention critical behaviors like whether this requires specific permissions, if changes are reversible, potential side effects (e.g., triggering deploys), or rate limits. This is inadequate for a mutation tool with zero 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly while conveying the essential action and target.

    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 the tool's complexity (mutation operation with 5 parameters) and lack of both annotations and output schema, the description is insufficient. It doesn't explain what happens after setting variables (e.g., success/failure responses, whether deploys are triggered by default), leaving significant gaps for an AI agent to understand the tool's full behavior and outcomes.

    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 the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, such as examples or constraints not captured in structured fields. This meets the baseline for high schema coverage but doesn't provide extra value.

    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 action ('Set') and resource ('environment variables for the active environment'), making the purpose immediately understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'list-variables' or 'create-environment', which could help with similar operations in the Railway context.

    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 like 'list-variables' for checking existing variables or 'create-environment' for environment setup. It mentions 'active environment' but doesn't clarify prerequisites or contextual constraints, leaving usage scenarios ambiguous.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a list operation but doesn't describe return format (e.g., pagination, fields included), error conditions, or authentication requirements beyond 'currently logged in account'. This leaves significant gaps for a tool that likely returns structured data.

    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, clear sentence with zero waste. It's front-loaded with the core action and resource, and every word contributes to understanding the tool's purpose without redundancy or fluff.

    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 no annotations and no output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., list of project objects, error responses), which is critical for a list tool. While the purpose is clear, the lack of behavioral and output details makes it insufficient for full agent understanding.

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

    Parameters4/5

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

    The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing on the tool's purpose. A baseline of 4 is applied since no parameters exist, and the description doesn't introduce unnecessary complexity.

    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 action ('List all') and resource ('Railway projects'), specifying scope ('for the currently logged in account'). It distinguishes from siblings like 'create-project-and-link' or 'list-services' by focusing on projects only. However, it doesn't explicitly differentiate from other list tools like 'list-deployments' or 'list-services' beyond the resource name.

    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. It doesn't mention prerequisites (e.g., authentication status), compare with other list tools, or indicate scenarios where it's preferred over other project-related tools like 'create-project-and-link'. The context is implied but not explicit.

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

  • 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 discloses that the tool returns an existing domain URL if one already exists, which is useful behavioral context. However, it doesn't mention potential side effects (e.g., whether this modifies infrastructure, requires permissions, or has rate limits), and the output format is unspecified. For a tool that likely involves infrastructure changes, this is a significant gap.

    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 sentences with zero waste: the first states the core purpose and behavior, and the second adds optional parameter context. It's front-loaded with the main action and efficiently structured, making it easy to parse quickly.

    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 the complexity (likely involving infrastructure changes), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what a 'domain' entails in this context, potential errors, or the return value format. For a tool with no structured safety or output information, more descriptive detail is needed to guide effective use.

    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 the schema already documents both parameters fully. The description adds minimal value by mentioning the optional 'service' parameter, but doesn't provide additional semantics beyond what's in the schema (e.g., format examples or constraints). With high schema coverage, the baseline is 3, and the description doesn't significantly enhance understanding.

    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 action ('generate a domain') and resource ('for the currently linked Railway project'), with additional context about returning existing domains. It distinguishes from siblings like 'create-project-and-link' or 'deploy' by focusing specifically on domain generation. However, it doesn't explicitly differentiate from all potential domain-related tools that might exist.

    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 when a domain is needed for a Railway project, mentioning optional service specification. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'deploy' (which might handle domains differently) or 'link-service', nor does it mention prerequisites like having a linked project. The context is clear but lacks specific when/when-not instructions.

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

  • 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 mentions the fallback behavior (listing environments if none specified), which is useful. However, it doesn't disclose critical behavioral traits: whether linking is reversible, what permissions are required, if it affects existing configurations, or what the output looks like. For a mutation tool with zero annotation coverage, this is insufficient.

    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 with zero waste. The first sentence states the primary purpose, and the second explains the fallback behavior. It's appropriately sized and front-loaded, with every sentence earning its place.

    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 this is a mutation tool (linking implies change) with no annotations and no output schema, the description is incomplete. It doesn't explain what 'linking' entails operationally, what happens after linking, error conditions, or return values. The fallback behavior hint is helpful but insufficient for a tool that modifies state.

    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 the schema already documents both parameters (workspacePath and environmentName). The description adds no additional parameter semantics beyond what the schema provides. It implies environmentName is optional in practice (contradicting the required schema), but doesn't clarify this parameter behavior. Baseline 3 is appropriate when schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Link to a specific Railway environment' specifies the verb (link) and resource (environment). It distinguishes from siblings like 'link-service' by focusing on environments rather than services. However, it doesn't explicitly differentiate from 'create-environment' which creates rather than links.

    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 provides implied usage guidance: it mentions that without an environment specified, it will list available environments. This suggests it can be used for discovery. However, it doesn't explicitly state when to use this tool versus alternatives like 'create-environment' or 'list-projects', nor does it mention prerequisites or exclusions.

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

  • 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 of behavioral disclosure. It describes the dual behavior (linking or listing based on parameter presence), which is useful. However, it lacks details on permissions required, whether linking is reversible, rate limits, or what happens if the service is already linked—critical for a mutation tool with zero 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 sentences, front-loaded with the primary purpose and followed by conditional behavior. Every word earns its place with no redundancy or fluff, making it highly efficient and easy to parse.

    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 annotations and no output schema, the description is moderately complete: it covers the tool's dual functionality and parameter dependency. However, as a mutation tool (linking implies a write operation), it should ideally mention authentication needs, side effects, or response format to be fully helpful, leaving some gaps in context.

    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 the schema already documents both parameters (workspacePath and serviceName) with descriptions. The description adds value by explaining the conditional behavior: if serviceName is omitted, it lists services instead of linking. This provides context beyond the schema, but doesn't elaborate on parameter formats or constraints, meeting the baseline for high schema coverage.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Link a service to the current Railway project' specifies the action (link) and resource (service). However, it doesn't explicitly differentiate from sibling tools like 'link-environment' or 'create-project-and-link', which also involve linking operations in the Railway context.

    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 provides implied usage guidance: it mentions that if no service is specified, it will list available services, suggesting this tool can be used for both linking and listing. However, it doesn't explicitly state when to use this tool versus alternatives like 'list-services' (for listing) or other linking tools, nor does it mention prerequisites or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions the creation action and optional duplication, it lacks critical details like required permissions, whether this is a destructive operation, rate limits, or what happens on failure. For a creation tool with zero annotation coverage, this is insufficient.

    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 appropriately sized with two sentences that efficiently convey the core functionality and optional features. It's front-loaded with the primary purpose, though it could be slightly more structured by explicitly separating required from optional behaviors.

    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 creation tool with 4 parameters, 100% schema coverage, but no annotations and no output schema, the description is moderately complete. It covers the basic purpose but lacks behavioral context, error handling information, and output expectations, which are important for a tool that creates resources.

    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%, providing good documentation for all parameters. The description adds minimal value beyond the schema by mentioning the optional duplication and service variables, but doesn't explain parameter interactions (e.g., that serviceVariables only works with duplicateEnvironment) or provide additional context beyond what's already in the schema descriptions.

    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 specific action ('Create a new Railway environment') and resource ('for the currently linked project'), distinguishing it from siblings like 'create-project-and-link' or 'link-environment'. It also mentions optional capabilities ('duplicate an existing environment and set service variables'), providing comprehensive purpose clarity.

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

    Usage Guidelines3/5

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

    The description implies usage context ('for the currently linked project') but doesn't explicitly state when to use this tool versus alternatives like 'link-environment' or 'create-project-and-link'. No exclusions or prerequisites are mentioned, leaving some ambiguity about appropriate scenarios.

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

  • 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 key behaviors: fuzzy search, automatic deployment, and deployment target (current project/environment). However, it lacks details on permissions needed, rate limits, error handling, or what 'automatically deploy' entails (e.g., confirmation steps).

    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-load the core purpose and key behaviors. Every phrase adds value: 'search and deploy' (action), 'fuzzy search' (method), 'automatically deploy' (behavior), 'current Railway project and environment' (context). No wasted 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?

    For a 4-parameter mutation tool with no annotations and no output schema, the description is adequate but incomplete. It covers the what and how but lacks details on side effects, return values, error cases, or integration with sibling tools. Given the complexity, more behavioral context would be helpful.

    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 the schema fully documents all 4 parameters. The description adds no parameter-specific semantics beyond implying 'searchQuery' is used for fuzzy search and 'workspacePath' targets deployment. Baseline 3 is appropriate as the schema handles parameter documentation.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Search and deploy Railway templates' with specific verbs and resources. It distinguishes from siblings like 'deploy' (which likely deploys services) by specifying template deployment, though it doesn't explicitly contrast with all sibling tools.

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

    Usage Guidelines3/5

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

    The description implies usage context ('to the current Railway project and environment') but doesn't explicitly state when to use this vs. alternatives like 'deploy' or 'create-project-and-link'. No guidance on prerequisites, exclusions, or comparison with sibling tools is provided.

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

  • 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 mentions a CLI version requirement, which is useful context, but does not disclose other behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, or what happens if parameters are invalid. The description lacks details on output format or pagination 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?

    The description is front-loaded with the core purpose in the first sentence, and the second sentence adds essential prerequisite information without redundancy. Every sentence earns its place, making it appropriately sized and efficient.

    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 (5 parameters, no output schema, no annotations), the description is minimally adequate. It covers the purpose and a prerequisite but lacks details on behavioral traits, output format, or error handling. Without annotations or output schema, more context would improve completeness for a listing tool with multiple parameters.

    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 the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining parameter interactions or default behaviors. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 ('List deployments') and the resource ('for a Railway service'), specifying what information is returned ('IDs, statuses and other metadata'). It distinguishes this from sibling tools like 'deploy' or 'get-logs' by focusing on listing rather than creating or retrieving logs.

    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 by specifying a prerequisite ('Requires Railway CLI v4.10.0+'), but it does not explicitly state when to use this tool versus alternatives like 'list-services' or 'list-projects'. No exclusions or specific contexts for usage are provided beyond the CLI version requirement.

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

  • Behavior4/5

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

    Since no annotations are provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: default behavior (pulls latest successful deployment), prerequisites (requires linked project), version dependencies (CLI v4.9.0+ for some parameters), and effects (disables streaming with 'lines'). However, it lacks details on rate limits, error handling, or authentication needs, which are common for API tools.

    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 appropriately sized and front-loaded, starting with the core purpose and default behavior. Each sentence adds useful information, such as version requirements and parameter usage, with no wasted text. However, it could be slightly more streamlined by integrating some details more cohesively.

    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 complexity (8 parameters, no output schema, no annotations), the description does a good job of covering usage, behavior, and parameter context. It explains defaults, version dependencies, and practical examples. However, without an output schema, it doesn't detail the return format or structure, which is a minor gap for a log retrieval 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 description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds some context, such as explaining that 'lines' and 'filter' require Railway CLI v4.9.0+ and providing examples for 'filter', but this is minimal beyond the schema. This meets the baseline of 3 for high schema coverage without significant added value.

    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 retrieves 'build or deployment logs for the currently linked Railway project,' specifying both the verb ('Get') and resource ('logs'). It distinguishes itself from siblings like 'list-deployments' or 'check-railway-status' by focusing on log retrieval rather than listing or status checking, making the purpose specific and differentiated.

    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 provides explicit guidance on when to use this tool versus alternatives: it specifies that it 'will only pull the latest successful deployment by default' and that for failed builds, you need to supply a deployment ID. It also mentions using 'lines' and 'filter' parameters for specific versions of the Railway CLI, offering clear context and exclusions for usage.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It describes what the tool checks (installation and login status) but doesn't disclose behavioral details like what specific checks are performed, what happens if CLI isn't found, whether it provides diagnostic information, or what the output format looks like. It's adequate but 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?

    Two concise sentences with zero waste. The first sentence states the purpose, the second provides usage context. Every word earns its place, and the information is front-loaded with the core functionality stated immediately.

    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 zero-parameter verification tool with no output schema, the description is reasonably complete. It explains what's being checked and when to use it. However, without annotations or output schema, it could benefit from mentioning what kind of status information is returned (e.g., binary success/failure vs detailed diagnostics).

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

    Parameters4/5

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

    The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it correctly focuses on the tool's purpose rather than attempting to describe non-existent inputs.

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

    Purpose5/5

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

    The description clearly states the tool's purpose with specific verbs ('check whether... installed' and 'logged in') and identifies the resource (Railway CLI). It distinguishes this verification tool from sibling deployment/management tools by focusing on setup status rather than operational actions.

    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 explicitly states when to use this tool: 'before attempting to use other Railway tools.' This provides clear contextual guidance about its role as a prerequisite check, distinguishing it from all sibling tools that perform actual Railway operations.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

railway-mcp-server MCP server

Copy to your README.md:

Score Badge

railway-mcp-server MCP server

Copy to your README.md:

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/railwayapp/railway-mcp-server'

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