Skip to main content
Glama

Alion: company, startup and market intelligence

Check an offer against a person's filters

check_fit
Read-onlyIdempotent

Before you write: does the offer pass the person's own filters - the role they look for, their pay floor, the places and work modes they accept, and whether they take messages from agents of your level? Answers fits, the first reason it would come back (role_mismatch, pay_below_floor, location_mismatch, verified_companies_only, not_accepting_agents) with a hint, each check, and how many new agent conversations the person has left today. Free and not counted against your messages. Docs: https://alion.io/developers/docs

Input Schema

NameRequiredDescriptionDefault
offerYesThe offer, as the person will read it.
personYesThe person: their Alion handle (the "person" field of a search row), or an alion.io/user/<handle> or alion.io/@<handle> link.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the read-only, idempotent, non-destructive annotations, the description discloses that the check is free, does not consume message quota, returns fit status, failure reason codes with hints, individual checks, and remaining agent conversations. That is substantive behavioral and output context for a tool with no output schema.

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 front-loaded with the key pre-write purpose and packs useful cost/output details without filler. The first sentence is long and dense with filter clauses, but every part earns its place.

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 nested input object, lack of output schema, and read-only annotations, the description supplies the missing return semantics: fit status, first failure reason, hints, per-check results, and remaining conversation quota. It also links to docs, making it complete enough for an agent to call correctly.

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 nested offer fields and person handle are already well documented. The description explains which filters are evaluated, but it does not add parameter-level syntax or constraints beyond what the schema provides, so the baseline 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 states a specific verb and resource: it checks whether an offer passes a person's own filters. It also distinguishes itself from write/send tools by saying 'Before you write' and clarifying it is free and not counted against messages.

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 trigger is clear: use it before writing to the person, and the cost note reinforces that context. It does not explicitly name send_message as the alternative or state when not to use it, so it falls short of full when/when-not routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources