Skip to main content
Glama
moureauf

boe-mcp

by moureauf

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: current rate, historical rate, rate changes, rate statistics, next MPC meeting, all MPC dates, series discovery, and series data. The descriptions explicitly clarify boundaries, such as using get_next_mpc_meeting when only the next date is needed.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (get_rate_at, get_next_mpc_meeting). The only non-get tool is list_series, which is a standard verb for collection listing and fits the pattern well.

    Tool Count5/5

    8 tools is well-scoped for a Bank of England data server, covering base rate queries, MPC meeting schedules, and statistical series. There is no unnecessary overlap or bloat.

    Completeness5/5

    The tool set provides comprehensive coverage for its domain: full base rate lifecycle (current, history, at-date, stats), all MPC meeting dates (next and full schedule), and series discovery plus arbitrary data retrieval. No obvious gaps exist.

  • Average 4.3/5 across 8 of 8 tools scored.

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

    • No community issues in the last 6 months
    • 53 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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

  • Behavior4/5

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

    With no annotations present, the description carries the burden of explaining behavior. It transparently states that the tool returns the rate in force on the given date and also provides the effective date of that level. This goes beyond a simple 'gets a rate' by disclosing the additional returned value, though it leaves out minor details like error conditions or boundary 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, front-loaded sentence. It states the action ('Get'), the resource ('Bank of England base rate'), the qualifier ('on a specific historical date'), and the additional output ('when that level took effect') with no filler or redundant wording.

    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 one-parameter lookup tool with an output schema present, the description provides the core purpose and one key behavioral detail. It is sufficient for an agent to understand what this tool does and when to invoke it. However, it could be more complete by noting that it is for point-in-time lookups rather than range queries, but this is a minor gap given the simplicity.

    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 already documents the single 'date' parameter with type, pattern, and description, so schema coverage is 100%. The description repeats that it is a historical date but adds no syntax or format details beyond the schema. This aligns with the baseline 3 for well-covered schemas where the description need not compensate.

    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 begins with 'Get the Bank of England base rate' which is a specific verb and resource, and immediately narrows scope to 'a specific historical date' plus 'when that level took effect.' This clearly distinguishes it from sibling tools like get_current_rate (current rate) and get_rate_history (history/range), making the tool's purpose unmistakable.

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

    Usage Guidelines2/5

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

    No explicit guidance is provided about when to use this tool versus alternatives. It is evident from the description that it takes a specific date, but there are no exclusions, comparisons to sibling tools, or notes on edge cases. The tool names suggest overlap with get_rate_history and get_current_rate, but the description does not address this.

    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?

    With no annotations provided, the description carries the full burden. It discloses the return fields (date, new rate, move in basis points) and specifies that the earliest known entry has a null move. This provides meaningful behavioral insight beyond the schema, though it does not mention ordering (e.g., descending chronological) or edge cases like limit exceeding available 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, information-dense sentence that front-loads the core action and then specifies the output fields. Every word contributes value, with no redundancy or fluff.

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

    Completeness4/5

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

    For a simple tool with one parameter and a provided output schema, the description adequately covers what the tool returns. The null-handling note adds useful edge-case context. A minor gap is the lack of explicit statement about ordering, but this is inferable from 'last N changes'.

    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 already fully describes the 'limit' parameter, including default value and range. The description merely refers to it as 'N' without adding new semantics. Since schema coverage is 100%, the baseline score of 3 applies.

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

    Purpose5/5

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

    The description clearly states the verb ('Get'), the resource ('Bank of England base rate changes'), and the scope ('last N'), with explicit output fields. It effectively distinguishes itself from sibling tools like get_current_rate and get_rate_at, which target a single point in time.

    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 does not explicitly state when to use this tool versus alternatives or provide exclusionary guidance. However, the phrase 'last N changes' implies it is for historical change data, and siblings like get_current_rate imply current rate. The usage context is present but only implicitly.

    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 carries the full burden. It discloses optional date filtering and a limit on most-recent points, and notes that any valid IADB code is accepted. However, it omits details on error handling, authentication, or rate limits, though these may be less critical for a read-only fetch.

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

    Conciseness5/5

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

    Two succinct sentences; the first front-loads the primary purpose with examples, the second adds guidance about discovery and scope. No filler or repetition.

    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 presence of an output schema and the simplicity of a read-only fetch, the description is mostly complete. It covers the main use case, optional parameters, and points to the discovery tool, though it could mention sibling tools for rate-specific 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 input schema already describes all four parameters with 100% coverage, so the baseline is 3. The description reinforces the meaning of limit by specifying 'most recent' and gives example codes, but does not add new semantic details 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 action ('Fetch observations') and the resource ('any Bank of England IADB statistical series'), with concrete examples and a scope note ('any valid IADB code works'). This distinguishes it from sibling rate-specific tools and from list_series, which is for discovery.

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

    Usage Guidelines4/5

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

    It explicitly directs users to list_series for discovering codes, which is an alternative. It also states that any valid IADB code works, not only catalogued ones, which frames when to use this tool broadly. However, it doesn't explicitly contrast with other sibling tools like get_current_rate or get_rate_at.

    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 the burden of disclosing behavior. It clearly states what data is returned, which is helpful, but it does not explicitly mention that this is a read-only operation or disclose any other behavioral traits such as rate limits or required permissions. The word 'Get' implies non-mutating behavior, but this is not overtly stated.

    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, well-structured sentence that front-loads the primary purpose and lists the outputs. Every word contributes meaning, with no filler or redundant information.

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

    Completeness5/5

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

    Given the low complexity (zero parameters), the presence of an output schema, and the description's clear enumeration of the returned fields, the description is complete. It provides sufficient context for an agent to select and invoke the tool correctly without additional details.

    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, so the description does not need to explain parameter semantics. Per the rubric, a baseline of 4 is appropriate when there are no parameters, as the schema and description together fully cover the input requirements.

    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 uses a specific verb ('Get') and resource ('current Bank of England base rate') and details the exact information returned (rate, effective date, months held). It clearly distinguishes from siblings like get_rate_history and get_rate_at by emphasizing 'current'.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool: when the current base rate is needed. While it does not explicitly list alternatives or exclusions, the 'current' qualifier implicitly differentiates it from historical or date-specific tools, making the usage scope obvious.

    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?

    With no annotations provided, the description carries the burden. It fully discloses the output: the date and days until. It implies a read-only operation, though it doesn't explicitly state lack of side effects or permission requirements. However, for a simple lookup tool, this is adequate.

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

    Conciseness5/5

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

    A single, compact sentence delivers all essential information without any filler. It states both the primary output (date) and the secondary output (days until) efficiently.

    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 tool's simplicity, the description provides a complete picture. An output schema exists, so return structure is presumably defined. The description covers the key purpose and output, and no further context is needed for likely use cases.

    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, and the schema coverage is 100% (vacuously). Per the rubric, a baseline of 4 is appropriate since no parameter documentation is needed. The description adds no parameter details because there are none.

    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 uses a specific verb ('Get') and resource ('next scheduled Bank of England Monetary Policy Committee announcement'), plus the additional output of days until. This clearly distinguishes it from sibling tools like get_mpc_dates, which likely lists multiple dates.

    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 implies when to use this tool (to get the next MPC announcement date) and the context is clear. It does not explicitly mention alternatives, but the sibling name 'get_mpc_dates' suggests a different use case, and the description's specificity is sufficient.

    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?

    With no annotations, the description carries the full disclosure burden. It clearly states that the tool returns the published schedule (typically a year or more ahead) and that each result includes a calendar-day count, which indicates a read-only, list-like behavior. It does not mention edge cases like schedule updates or timezone handling, but for a simple zero-parameter read tool the core behavior is transparently described.

    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 the primary purpose stated first and the alternative-tool pointer in the second. Every clause adds meaningful information, and there is no repetition of the title or obvious filler.

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

    Completeness5/5

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

    Given that the tool has no parameters and an output schema is present, the description does not need to enumerate return fields. It explains the scope ('every upcoming'), the scheduling horizon, and the day-count detail, which fully covers contextual needs for a simple listing tool. The reference to the sibling tool also places it well in the surrounding tool ecosystem.

    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, so the description needs to add no parameter-level detail. The description still enhances understanding by specifying that the returned schedule is the published MPC announcement schedule and that results are upcoming dates with day counts, which is useful context beyond the empty 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 uses a specific verb ('Get') and a clearly defined resource ('every upcoming Bank of England Monetary Policy Committee announcement date on the published schedule'), including the extra detail that each date comes with the number of calendar days until it. It explicitly distinguishes itself from get_next_mpc_meeting by contrasting the scope (all upcoming vs. only the next).

    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 usage guidance by stating 'Use get_next_mpc_meeting when only the next date is needed,' naming the alternative tool and the specific condition under which it should be preferred. This is exactly the kind of when-to-use versus when-not-to-use direction expected.

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

  • Behavior5/5

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

    With no annotations, the description carries the full burden and meets it well. It discloses optional date behavior, inclusive end, the nuance that the start-date rate counts even if applied earlier, and what the net move represents. This goes beyond merely restating the tool's function.

    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 three sentences, front-loaded with the purpose, and uses no filler. Every sentence adds distinct information: the computed stats, the default behavior, and a subtle inclusion rule. Efficient and well-structured.

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

    Completeness5/5

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

    Given the tool's moderate complexity, the description covers the essential behavioral nuances, return contents, and parameter defaults. The output schema exists, so not detailing every field is acceptable. It also handles edge cases (start date rate applied earlier) and full history defaults, making it complete for agent use.

    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 schema already documents both parameters (100% coverage), providing baseline 3. The description adds semantic value by explaining defaults ('Defaults to today' for to, 'Defaults to the start of the available series' for from) and how the inclusive range works with the start-date nuance. This enhances understanding 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 starts with a specific verb and resource: 'Get summary statistics of the Bank of England base rate over a date range.' It enumerates the exact outputs (min/max with dates, time-weighted average, start/end rates, net move), which clearly distinguishes it from siblings like get_rate_history (raw rates) or get_rate_at (single point).

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use it: when summary statistics are needed over a range. It clarifies optional dates and defaults ('omit them for the full available history through today'), but it does not explicitly name alternatives or say when not to use it. This is clear context without exclusions, so a 4 is appropriate.

    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?

    No annotations are present, so the description carries the burden. It openly discloses the curated nature (not exhaustive) and that get_series accepts more codes, setting correct expectations about coverage and scope.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the verb and outcome. Every clause adds value—scope, fields returned, usage intent, and alternative. No wasted words.

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

    Completeness5/5

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

    The tool is simple (list operation, no params) and the output schema exists. The description covers purpose, output fields, scope limitations, and relationship to sibling tools, making it fully complete for an agent.

    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, so the schema is empty and no parameter-specific guidance is needed. The description effectively explains the output, which is the sole input-agnostic behavior.

    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 lists a curated catalog of BoE IADB series with specific fields (code, name, description, unit, frequency). It also distinguishes itself from siblings like get_series by explicitly noting its role in discovering codes.

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

    Usage Guidelines5/5

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

    It explicitly says 'Use this to discover series codes to pass to get_series' and notes that get_series accepts any IADB code, not just these. This gives clear when-to-use guidance and alternative behavior.

    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

boe-mcp MCP server

Copy to your README.md:

Score Badge

boe-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/moureauf/boe-mcp'

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