Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: driver communication, booking, vehicle types, fare estimation, trip status, history, and cancellation. The descriptions specify unique actions and targets, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent Turkish verb_noun pattern (e.g., taksi_cagir, ucret_tahmini, yolculuk_durumu). The naming is uniform across all tools, using snake_case and descriptive terms aligned with the taxi service domain.

    Tool Count5/5

    With 7 tools, the server is well-scoped for a taxi service, covering core operations like booking, pricing, status, and cancellation. Each tool earns its place without being excessive or insufficient for the domain.

    Completeness5/5

    The tool set provides complete coverage for a taxi service: it includes booking (taksi_cagir), pre-trip (taksi_turleri_getir, ucret_tahmini), in-trip (surucu_iletisim, yolculuk_durumu, yolculuk_iptal), and post-trip (yolculuk_gecmisi) operations, with no obvious gaps in the workflow.

  • Average 2.9/5 across 7 of 7 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'listele' implies a read-only operation, it doesn't specify whether this requires authentication, what format the results come in, whether there's pagination beyond the 'limit' parameter, or any rate limits. For a tool with no annotation coverage, this leaves 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 extremely concise at just two words ('Geçmiş yolculukları listele'), which efficiently conveys the core purpose without any wasted words. It's appropriately sized for a simple list operation and front-loads the essential information.

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

    Completeness2/5

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

    For a list tool with 2 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (journey objects with what fields?), doesn't address authentication needs, and provides no context about the 'saglayici' parameter's purpose despite its enum values including specific providers. The description should do more given the tool's complexity and lack of supporting documentation.

    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 the 'limit' parameter has a description). The description doesn't mention either parameter, so it adds no semantic value beyond what the schema provides. With 2 parameters and partial schema coverage, the baseline is 3 since the schema does some work but not all.

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

    Purpose3/5

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

    The description 'Geçmiş yolculukları listele' clearly states the purpose as listing past journeys, which is a specific verb+resource combination. However, it doesn't distinguish this tool from potential sibling tools like 'yolculuk_durumu' (journey status) or 'yolculuk_iptal' (journey cancellation), leaving ambiguity about its unique role in the system.

    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. With sibling tools like 'yolculuk_durumu' (for current status) and 'yolculuk_iptal' (for cancellation), there's no indication of when this list tool is appropriate versus those other journey-related tools, nor any prerequisites or exclusions mentioned.

    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 action ('taksi çağır') but does not disclose critical traits such as whether this is a read-only or destructive operation, authentication requirements, rate limits, or what happens upon invocation (e.g., confirmation, booking status). The description is minimal and lacks behavioral context 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.

    Conciseness5/5

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

    The description is a single, efficient sentence in Turkish ('Belirtilen konumlar arası taksi çağır') that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for a tool with a clear action, 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 tool's complexity (9 parameters, no output schema, no annotations), the description is incomplete. It lacks information on behavioral aspects, usage context, and output expectations, which are crucial for a taxi-booking tool that likely involves mutations and external interactions. The high schema coverage helps but does not compensate for missing behavioral and contextual details.

    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 high at 89%, with most parameters well-documented in the schema (e.g., 'baslangic_enlem' as 'Başlangıç konumu enlemi'). The description adds no additional parameter semantics beyond implying location-based inputs, so it relies on the schema for details. With high coverage, the baseline score of 3 is appropriate as the description does not compensate but does not detract either.

    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 'Belirtilen konumlar arası taksi çağır' clearly states the tool's purpose as calling a taxi between specified locations, using a specific verb ('çağır') and resource ('taksi'). It distinguishes from siblings like 'ucret_tahmini' (fare estimation) or 'yolculuk_iptal' (trip cancellation) by focusing on initiating a ride, but does not explicitly differentiate from all siblings, such as 'surucu_iletisim' (driver communication), which might be related but not directly overlapping.

    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 'ucret_tahmini' for fare checks or 'yolculuk_iptal' for cancellations. It implies usage for booking a taxi between locations but lacks explicit context, prerequisites, or exclusions, leaving the agent to infer based on tool names alone without clear direction.

    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 calculates estimates but doesn't mention whether it's read-only, if it requires authentication, rate limits, data sources, accuracy, or what the output looks like. For a tool with 8 parameters and no annotations, 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 a single, clear sentence in Turkish that directly states the tool's function. It's front-loaded with the core purpose and contains no unnecessary words or redundant information.

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

    Completeness2/5

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

    For a tool with 8 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like safety, authentication, or output format, nor does it provide usage context relative to sibling tools. The high parameter count and lack of structured metadata require more descriptive guidance.

    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 high at 88%, so the schema already documents most parameters well. The description adds no additional parameter semantics beyond implying it uses two locations. It doesn't explain the 'saglayici' (provider) enum options or 'taksi_turu' (taxi type) implications, which would be valuable given the schema's coverage isn't 100%.

    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: 'İki konum arası taksi ücreti tahmini hesapla' (Calculate taxi fare estimate between two locations). It specifies the action (calculate estimate) and resource (taxi fare), but doesn't distinguish it from sibling tools like 'taksi_cagir' (call taxi) or 'yolculuk_durumu' (trip status), which would require a 5.

    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 sibling tools like 'taksi_cagir' for actual booking or 'yolculuk_durumu' for checking ongoing trips, nor does it specify prerequisites or constraints for usage.

    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 indicates a read-only query operation ('sorgula'), but doesn't specify authentication requirements, rate limits, error conditions, or what happens if no active trip exists. For a tool with no annotation coverage, this leaves 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 directly states the tool's function without unnecessary words. It's front-loaded with the core purpose and avoids redundancy, 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 tool's complexity (querying active trip status with two parameters), lack of annotations, and no output schema, the description is insufficient. It doesn't cover behavioral aspects like error handling or authentication, and it leaves one parameter undocumented. For a tool in this context, more completeness 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 50% (one of two parameters has a description). The description doesn't add any parameter-specific information beyond what the schema provides—it doesn't explain the 'yolculuk_id' format or clarify the 'saglayici' (provider) enum options. With moderate schema coverage, the description doesn't compensate for the undocumented parameter, resulting in a baseline score.

    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: 'sorgula' (query/retrieve) 'aktif yolculuğun durumunu ve şoför bilgilerini' (active trip status and driver information). It specifies both the resource (active trip) and the data retrieved (status and driver info), though it doesn't explicitly differentiate from siblings like 'yolculuk_gecmisi' (trip history) or 'yolculuk_iptal' (trip cancellation).

    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., needing an active trip), exclusions (e.g., not for historical trips), or comparisons to siblings like 'yolculuk_gecmisi' for past trips or 'surucu_iletisim' for driver communication. Usage is implied but not explicitly defined.

    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 the tool cancels an active journey, implying a destructive mutation, but doesn't describe consequences (e.g., cancellation fees, notifications), permissions required, rate limits, or response format. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its 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, efficient sentence ('Aktif yolculuğu iptal et') that front-loads the core purpose without unnecessary words. It earns its place by clearly stating the tool's function, making it easy to parse and understand quickly.

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

    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 (cancelling journeys) with no annotations, no output schema, and incomplete parameter documentation (67% coverage), the description is inadequate. It doesn't address key contextual aspects like what happens after cancellation, error conditions, or how to interpret results, leaving the agent with insufficient information for reliable 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 67% (2 of 3 parameters have descriptions), with 'yolculuk_id' and 'iptal_nedeni' documented but 'saglayici' lacking a description. The description adds no parameter information beyond what the schema provides, not explaining what 'saglayici' (provider) means or how 'iptal_nedeni' (cancellation reason) is used. With moderate schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate for gaps.

    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 'Aktif yolculuğu iptal et' clearly states the action (iptal et/cancel) and target resource (aktif yolculuğu/active journey), making the purpose immediately understandable. It distinguishes from siblings like 'yolculuk_durumu' (journey status) and 'yolculuk_gecmisi' (journey history) by focusing on cancellation rather than querying. However, it doesn't specify what type of journey (e.g., taxi ride) beyond context from sibling names, preventing a perfect score.

    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., only for active journeys), exclusions (e.g., not for completed journeys), or relationships to siblings like 'yolculuk_durumu' for checking status first. Usage is implied by the name and context but not explicitly stated.

    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 it's a listing operation, implying read-only behavior, but doesn't specify whether it requires authentication, has rate limits, returns paginated results, or describes the output format. For a tool with zero annotation coverage, this leaves critical behavioral traits undocumented.

    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 in Turkish that directly states the tool's purpose without any unnecessary words. It's appropriately sized and front-loaded, making it highly efficient for an AI agent 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 the tool's simple purpose (listing), one parameter with full schema coverage, and no output schema, the description is minimally adequate. However, it lacks context about when to use it versus siblings and doesn't compensate for the absence of annotations regarding behavioral traits like authentication or output format, making it incomplete for optimal agent 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?

    The input schema has 100% description coverage, with the single parameter 'saglayici' (provider) fully documented in the schema including enum values and default. The description doesn't add any parameter-specific information beyond what the schema provides, so it meets the baseline of 3 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 action ('listele' meaning 'list') and the resource ('mevcut taksi türlerini ve özelliklerini' meaning 'current taxi types and features'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'taksi_cagir' (call taxi) or 'ucret_tahmini' (fare estimate), which would require a 5.

    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, context for usage, or exclusions, leaving the agent to infer based on tool names alone. This is a significant gap in usage guidance.

    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 what the tool does, not behavioral traits. It doesn't disclose whether this initiates actual calls/messages, requires permissions, has rate limits, costs, or what happens on execution. For a communication tool with real-world effects, this is a significant gap in transparency.

    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 Turkish sentence that front-loads the core purpose. Every word earns its place: 'aktif yolculukta' sets context, 'şoförle iletişime geç' states action, and '(ara/mesaj)' clarifies methods. No wasted words or redundant information.

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

    Completeness2/5

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

    For a 4-parameter communication tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after tool execution (e.g., call initiated, message sent, confirmation returned), error conditions, or real-world implications. The complexity warrants more complete behavioral context than provided.

    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 75% (3 of 4 parameters have descriptions), so the baseline is 3. The description adds minimal value beyond schema: 'ara/mesaj' hints at 'iletisim_turu' enum values but doesn't explain parameter relationships or when 'mesaj' is required. It doesn't compensate for the 25% coverage gap for 'saglayici'.

    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 ('aktif yolculukta şoförle iletişime geç') and resource (driver during active trip), with specific verbs 'ara/mesaj' indicating communication methods. It distinguishes from siblings like 'yolculuk_durumu' (status check) or 'yolculuk_iptal' (cancellation), but doesn't explicitly contrast with other communication tools since none 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 context ('aktif yolculukta' - during active trip) but doesn't specify when to use this vs alternatives like 'yolculuk_durumu' for status updates or prerequisites. No explicit exclusions or named alternatives are provided, leaving some ambiguity about optimal use cases.

    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

taksi-mcp MCP server

Copy to your README.md:

Score Badge

taksi-mcp 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/skynet-base/taksi-mcp'

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