Skip to content
Eden Engine

Search UK Parliament Bills

ukparliamentbills/search-bills

Searches bills before the UK Parliament by title words, optionally by the house they are currently in. Up to 50 per page, each with bill id, titles, current and originating house, whether it became an Act, was defeated or withdrawn, and its current stage. Contains Parliamentary information licensed under the Open Parliament Licence v3.0 (https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/). Source: UK Parliament Bills API, https://bills-api.parliament.uk. Modified by Eden Engine (fields renamed and reduced; photos and contact pages are not included). Served by Eden Engine; not an official UK Parliament product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

UK Parliament Bills API

Contains Parliamentary information licensed under the Open Parliament Licence v3.0 (https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/). Source: UK Parliament Bills API, https://bills-api.parliament.uk. Modified by Eden Engine (fields renamed and reduced; photos and contact pages are not included). Served by Eden Engine; not an official UK Parliament product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "ukparliamentbills/search-bills" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "ukparliamentbills/search-bills" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "ukparliamentbills/search-bills", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "ukparliamentbills/search-bills", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 26, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "searchTerm"
      ]
    },
    {
      "required": [
        "currentHouse"
      ]
    }
  ],
  "properties": {
    "skip": {
      "type": "integer",
      "default": 0,
      "maximum": 100000,
      "minimum": 0,
      "description": "Results to skip, for paging, default 0."
    },
    "take": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Results per page, 1 to 50, default 20."
    },
    "searchTerm": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "Words from the bill title, for example Online Safety. Give at least one of searchTerm or currentHouse."
    },
    "currentHouse": {
      "enum": [
        "Commons",
        "Lords",
        "Unassigned"
      ],
      "type": "string",
      "description": "House the bill is in now; Unassigned is used for bills that finished (an Act or defeated)."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "bill_id"
        ],
        "properties": {
          "is_act": {
            "type": "boolean",
            "description": "True when the bill became an Act."
          },
          "bill_id": {
            "type": "integer",
            "description": "Bill id, the number get-bill and bill-stages take."
          },
          "is_defeated": {
            "type": "boolean",
            "description": "True when the bill was defeated."
          },
          "last_update": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date of the last change, YYYY-MM-DD."
          },
          "session_ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "A session id."
            },
            "description": "Sessions the bill sat in."
          },
          "short_title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Short title."
          },
          "bill_type_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Bill type id as used by the source."
          },
          "current_house": {
            "type": [
              "string",
              "null"
            ],
            "description": "Commons or Lords."
          },
          "current_stage": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "house": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Commons, Lords or Unassigned."
              },
              "stage_id": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Stage type id."
              },
              "session_id": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Parliamentary session id."
              },
              "sort_order": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Position of the stage in the bill's progress."
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Stage name, for example 2nd reading."
              },
              "abbreviation": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Short form, for example 2R."
              },
              "sitting_dates": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "A sitting date, YYYY-MM-DD."
                },
                "description": "Dates the stage was sat; empty when none yet."
              }
            },
            "description": "The current stage.",
            "additionalProperties": true
          },
          "withdrawn_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date withdrawn, YYYY-MM-DD; null if not withdrawn."
          },
          "originating_house": {
            "type": [
              "string",
              "null"
            ],
            "description": "Commons or Lords."
          },
          "former_short_title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Earlier short title, if renamed."
          },
          "introduced_session_id": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Session in which it was introduced."
          }
        },
        "description": "A bill.",
        "additionalProperties": true
      },
      "description": "Matching bills."
    },
    "total": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Bills matching."
    },
    "per_page": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Page size used."
    }
  },
  "additionalProperties": true
}