Skip to content
Eden Engine

Find a Northern Ireland Assembly Member by Surname

niassemblyaims/members-by-surname

Finds the current Northern Ireland Assembly members whose surname matches the text exactly (not a prefix: Armstrong matches, Arm does not). Returns person id, name, title, party and constituency for each match; a single match comes back as one object, several as an array. A surname nobody holds is refused as a validation error. Contains Northern Ireland Assembly information licensed under the Open Government Licence v3.0; served by Eden Engine; not an official Assembly 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

Northern Ireland Assembly

Contains Northern Ireland Assembly information licensed under the Open Government Licence v3.0. Served by Eden Engine; not an official Northern Ireland Assembly 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: "niassemblyaims/members-by-surname" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "niassemblyaims/members-by-surname" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "niassemblyaims/members-by-surname", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "niassemblyaims/members-by-surname", 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 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "surname"
  ],
  "properties": {
    "surname": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z' -]{1,39}$",
      "description": "The member's surname, 2 to 40 letters (spaces, hyphens and apostrophes allowed), for example Armstrong. The match is exact and ignores case; a partial surname finds nothing and fails with a validation error."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "AllMembersList"
  ],
  "properties": {
    "AllMembersList": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "Member": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "PersonId",
                  "MemberName"
                ],
                "properties": {
                  "PersonId": {
                    "type": "string",
                    "description": "The member's AIMS person id."
                  },
                  "PartyName": {
                    "type": "string"
                  },
                  "MemberName": {
                    "type": "string",
                    "description": "Surname, first name (and honours)."
                  },
                  "MemberTitle": {
                    "type": "string",
                    "description": "For example 'MLA - South Antrim'."
                  },
                  "MemberImgUrl": {
                    "type": "string",
                    "description": "Link to the member's portrait on the Assembly's site; present on the all-members list only."
                  },
                  "MemberPrefix": {
                    "type": "string",
                    "description": "Title such as Dr or Mr; present on the all-members list only."
                  },
                  "AffiliationId": {
                    "type": "string"
                  },
                  "ConstituencyId": {
                    "type": "string"
                  },
                  "MemberLastName": {
                    "type": "string"
                  },
                  "MemberSortName": {
                    "type": "string"
                  },
                  "MemberFirstName": {
                    "type": "string"
                  },
                  "ConstituencyName": {
                    "type": "string"
                  },
                  "PartyOrganisationId": {
                    "type": "string"
                  },
                  "MemberFullDisplayName": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              }
            },
            {
              "type": "object",
              "required": [
                "PersonId",
                "MemberName"
              ],
              "properties": {
                "PersonId": {
                  "type": "string",
                  "description": "The member's AIMS person id."
                },
                "PartyName": {
                  "type": "string"
                },
                "MemberName": {
                  "type": "string",
                  "description": "Surname, first name (and honours)."
                },
                "MemberTitle": {
                  "type": "string",
                  "description": "For example 'MLA - South Antrim'."
                },
                "MemberImgUrl": {
                  "type": "string",
                  "description": "Link to the member's portrait on the Assembly's site; present on the all-members list only."
                },
                "MemberPrefix": {
                  "type": "string",
                  "description": "Title such as Dr or Mr; present on the all-members list only."
                },
                "AffiliationId": {
                  "type": "string"
                },
                "ConstituencyId": {
                  "type": "string"
                },
                "MemberLastName": {
                  "type": "string"
                },
                "MemberSortName": {
                  "type": "string"
                },
                "MemberFirstName": {
                  "type": "string"
                },
                "ConstituencyName": {
                  "type": "string"
                },
                "PartyOrganisationId": {
                  "type": "string"
                },
                "MemberFullDisplayName": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          ],
          "description": "An array of members; a single match comes back as one object, not a one-item array."
        }
      },
      "description": "null when no member is listed.",
      "additionalProperties": true
    }
  },
  "description": "The matching current members in the Assembly's envelope. AllMembersList.Member is one object for a single match and an array for several.",
  "additionalProperties": false
}