Skip to main content
Glama
lipeng5941

@sgs/oa-mcp-server

by lipeng5941

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct resource and action: search and detail for offices, search and detail for meeting rooms. There is no overlap between office and room tools, so an agent can easily select the correct tool.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern: search_office, search_room, get_office_detail, get_room_detail. The pattern is uniform and predictable, making it easy to infer functionality from names.

    Tool Count5/5

    With only 4 tools, the set is well-scoped for a read-only query service focused on offices and meeting rooms. Each tool serves a clear purpose and the count is appropriate for the narrow domain.

    Completeness5/5

    The tool surface covers the full lifecycle for this domain: search both resource types and retrieve detailed information for each. No obvious missing operations are apparent given the presumably read-only nature of the server.

  • Average 3.6/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 3 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
  • 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 but discloses no behavioral traits beyond the basic read operation. It does not mention return format, error behavior, permissions, or any side effects. The description is minimal and offers little beyond the tool's name.

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

    Conciseness5/5

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

    The description is a single concise sentence that fully communicates the core action and parameter. There is no fluff or repetition, and it is appropriately front-loaded.

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

    Completeness3/5

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

    The tool is simple (one required parameter, no output schema), and the description covers the basic purpose. However, it lacks details about what fields are included in '详细信息' or any special behavior, which makes it adequate but not complete for an agent that needs to know what to expect.

    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% (officeid is described as '办公场所ID'). The description essentially restates the parameter's role without adding extra format, constraints, or examples, so the baseline 3 applies.

    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 '根据场所ID获取详细信息' clearly states the action (获取/obtain) and resource (详细信息/detailed information) keyed by an ID. It is specific to a detail lookup, but does not explicitly differentiate from the sibling get_room_detail; differentiation relies on the tool name and title.

    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?

    Usage is implied: the tool is for retrieving office details when an office ID is available. However, there is no explicit guidance on when to prefer this over search_office or get_room_detail, nor any exclusions or alternatives 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 full responsibility for behavioral disclosure, but it only says 'get detailed information.' It does not mention that it is read-only, what happens if the room is not found, required permissions, or the structure of returned data. This is a significant gap for a tool that may involve network calls.

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

    Conciseness4/5

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

    The description is a single sentence, front-loaded with the action and purpose. It is concise and free of fluff, though it lacks extra context that could be useful. It earns its place but is minimal.

    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 simple input schema (1 parameter) and no output schema, the description is adequate but vague: it does not specify what 'detailed information' includes, whether it returns partial data, or any error behavior. For a tool with no annotations, this leaves room for ambiguity but is not grossly insufficient.

    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% (roomid is described as '会议室ID'). The description merely restates the parameter ('根据会议室ID') without adding additional context, such as format, constraints, or examples. Baseline of 3 is appropriate when the schema fully documents parameters.

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

    Purpose5/5

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

    The description states a specific verb ('获取' / get) and resource ('详细信息' / detailed information) keyed to a room ID, clearly distinguishing it from sibling tools like get_office_detail and search_room. It is direct and unambiguous.

    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 you have a room ID, but it does not explicitly state when to use this tool versus alternatives (e.g., search_room to find the ID first, or get_office_detail for offices). No exclusions or context are provided.

    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?

    No annotations are provided, so the description must carry the full burden. It identifies the operation as a query ('查询'), implying a safe read-only action, and lists filterable fields. However, it does not disclose pagination behavior, default result size, or any other behavioral traits beyond the basic query nature.

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

    Conciseness5/5

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

    The description is a single concise sentence (two in Chinese) that efficiently conveys the core purpose and main filters. There is no wasted wording, and it is front-loaded with the main action.

    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 query tool with 5 parameters and no output schema, the description plus 100% schema coverage is mostly sufficient. It clearly indicates a list result and the main filter criteria, though it omits mention of pagination parameters (current/size) which are present in the schema. This is a minor gap given 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 baseline is 3. The description merely restates some parameter purposes (name, capacity, building) without adding new semantic meaning or clarifying nuances like 'capacity' meaning minimum capacity. No value is added beyond the schema.

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

    Purpose4/5

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

    The description clearly states '查询会议室列表' (query meeting room list), specifying the verb and resource. It also mentions filters, which distinguishes it as a list/search operation from detail retrieval. However, it does not explicitly name or contrast sibling tools like get_room_detail.

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

    Usage Guidelines3/5

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

    The description implies usage for listing meeting rooms with filters, but provides no explicit guidance on when to use this tool versus alternatives like search_office or get_room_detail. The context is clear but lacks exclusions or alternative references.

    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 the full burden. It discloses that the tool returns office ID, name, address, and organization, and supports filtering. However, it does not mention pagination behavior (size/current parameters), which is a significant behavioral trait for a list API. The schema covers the parameters but the description could have added more context.

    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 sentence, front-loaded with the main purpose, then specifies filtering capabilities and return fields. Every word is useful with no 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 provides the essential purpose, filtering options, and return fields, which is largely sufficient for a list/search tool. It omits explicit mention of pagination parameters, but the schema already documents them, and the output schema is absent but return fields are described. Minor gap.

    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 baseline is 3. The description adds that filtering is possible by name and address, aligning with officenm and address parameters, but does not explain the pagination parameters (size, current) meaning. Thus it adds minimal semantics beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool queries the office list on the specific Shangang Capital Digital Office Platform, using a specific verb '查询' and specific resource '办公场所列表'. It distinguishes from sibling tools by focusing on offices rather than rooms and list versus detail operations.

    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 clearly conveys when to use this tool: when searching/filtering office locations by name or address. It does not explicitly exclude other tools like get_office_detail for details, but the context makes the general usage pattern obvious.

    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

oa-mcp-server MCP server

Copy to your README.md:

Score Badge

oa-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/lipeng5941/oa-mcp-server'

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