Skip to main content
Glama

CongressMCP

Server Details

Federal and 50-state legislative data for AI: bills, text, votes, members, and committees.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose in the account/subscription lifecycle: signup, verification, plan listing, checkout creation, status checking, and OAuth connection. No two tools overlap in their responsibilities.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (connect_account, get_status, list_plans, start_signup, verify_signup, create_checkout), with clear, predictable verbs and no mixed conventions.

Tool Count5/5

With 6 tools, the server is well-scoped for its purpose of managing account creation and subscription activation. Each tool covers a necessary step without redundancy or bloat.

Completeness4/5

The tool surface covers the full activation flow: signup, verification, plan selection, checkout, status, and OAuth connect. Missing operations like cancellation or account deletion are not indicated, but the core workflow is complete.

Available Tools

6 tools
connect_congressmcp_accountConnect a CongressMCP account with OAuthAInspect

Use this after subscription activation when the user wants this chat to access CongressMCP. It returns the MCP OAuth challenge so the host can open CongressMCP’s authorization and consent flow. Never ask the user to paste a password, API key, access token, or refresh token into chat.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are sparse (readOnlyHint=false, destructiveHint=false, openWorldHint=true). The description adds meaningful behavioral context: it returns an MCP OAuth challenge for the host to open, and it includes a security guardrail about not asking for credentials. It does not fully explain the post-consent state change, but the OAuth initiation behavior is clear and not contradicted by annotations.

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?

Three short sentences, all substantive: the timing, the returned value, and a critical security constraint. The most important context is front-loaded. No filler or redundancy. Every sentence earns its place.

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 zero parameters and no output schema, the description covers the essential context: when to call it, what it returns, and a hard security rule. It might have benefited from explaining what happens after the OAuth flow completes, but the immediate next step (host opening the flow) is stated. Overall, an agent has enough to invoke it correctly.

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 trivially complete. With no parameters, the description does not need to explain parameter behavior. The baseline score of 4 for zero-parameter tools applies, and the description neither adds nor detracts in this dimension.

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's action: 'connect a CongressMCP account with OAuth' and specifically says it returns an OAuth challenge to open the authorization flow. It is unambiguously distinct from the sibling tools, which handle subscriptions and email signup steps. An agent can immediately understand this tool initiates the OAuth connection.

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 gives an explicit precondition: 'Use this after subscription activation when the user wants this chat to access CongressMCP.' It also provides a clear 'never' directive about not asking for secrets. However, it does not explicitly name alternative tools or state when NOT to use this one (e.g., before subscription activation), leaving that to inference from sibling names.

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

create_subscription_checkoutCreate a CongressMCP Stripe CheckoutAInspect

Use this only after email verification, a plan selection from list_subscription_plans, and explicit user confirmation. It creates an idempotent Stripe-hosted subscription Checkout tied to the verified account and returns the external checkout URL. Stripe collects card details outside chat, and creating the URL does not itself complete the purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesTrue only after the user explicitly confirms creation of checkout for this exact plan and displayed price.
plan_idYesExact plan identifier returned by list_subscription_plans.
idempotency_keyYesFresh UUID for this checkout; reuse only for the identical retry.
onboarding_tokenYesShort-lived onboarding token returned by verify_email_signup.

TDQS

A3.8/5.0
Behavior1/5

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

The description claims the tool is 'idempotent', but the annotation idempotentHint is false. This is a direct contradiction. While the description adds useful context about Stripe collecting card details outside chat and the URL not completing the purchase, the idempotency mismatch is a critical behavioral inconsistency that misleads the agent. Per scoring rules, a contradiction drops this dimension to 1.

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?

Three sentences with no redundancy. The usage condition is front-loaded, followed by the action and a clarifying note about external payment handling. Every sentence earns its place and the description is appropriately compact.

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 covers the essential context: prerequisites, what the tool does, and the return value. It lacks details on error handling or edge cases, but for a checkout-creation tool with full parameter documentation, this is sufficient. The idempotency contradiction slightly undermines completeness, but that is already penalized in the behavioral dimension.

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 does not add per-parameter detail beyond the schema; it references the flow but leaves parameter specifics to the schema. Since the schema already thoroughly documents each parameter (e.g., confirm const, plan_id pattern), the description adds no extra semantic value for 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 clearly states the action ('creates an idempotent Stripe-hosted subscription Checkout'), the resource it acts on, and the return value (external checkout URL). It positions the tool within a sequence (after email verification and plan selection), distinguishing it from siblings like list_subscription_plans and verify_email_signup without needing explicit naming.

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?

Explicitly states 'Use this only after email verification, a plan selection from list_subscription_plans, and explicit user confirmation.' This gives clear preconditions and the context in which the tool should be called. It also clarifies that creating the URL does not complete the purchase, preventing premature usage.

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

get_subscription_statusGet CongressMCP subscription statusA
Read-onlyIdempotent
Inspect

Use this after checkout to check whether Stripe’s signed webhook has activated the verified account. It reads the current server-side entitlement and never retries payment or changes billing. When paid is true, use connect_congressmcp_account to authorize this chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
onboarding_tokenYesShort-lived onboarding token returned by verify_email_signup.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable context beyond annotations: it reads server-side entitlement, depends on Stripe's signed webhook, and never retries payment. No contradiction with annotations; it slightly over-delivers but still omits return-format details.

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 with zero waste. The usage instruction ('Use this after checkout') is front-loaded, and the follow-up action is embedded naturally. Every clause earns its place.

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 has no output schema, the description gives a hint about the response (implying a 'paid' field) and clearly states the activation condition. It covers the essential trigger and next step. It doesn't spell out the full return payload, but that's acceptable given the simple nature and the hint provided.

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% and the only parameter (onboarding_token) is fully documented with a pattern and description. The tool description adds no additional parameter semantics beyond referencing the post-checkout context. Per the baseline for full schema coverage, a 3 is appropriate.

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 checks subscription status after checkout, specifically whether Stripe's webhook has activated the account. It uses a specific verb and resource and distinguishes itself from siblings like create_subscription_checkout and connect_congressmcp_account by framing itself as a read-only check.

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?

Explicitly says 'Use this after checkout' and instructs the agent to call connect_congressmcp_account when paid is true. It also states what the tool never does (retry payment or change billing), effectively precluding misuse. This is strong when/when-not guidance with an identified alternative.

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

list_subscription_plansList CongressMCP subscription plansA
Read-onlyIdempotent
Inspect

Use this before checkout to show the current CongressMCP plans and exact server-configured prices. Amounts are integer minor currency units, such as cents, and listing plans never starts a checkout or charge. Do not guess a price or use a plan identifier that is not returned here.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable beyond-annotation context: listing plans never starts a checkout or charge, prices are integer minor currency units, and prices are server-configured.

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?

Three sentences, all high-signal and front-loaded with the primary use case. No filler or repeated schema/annotation information.

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 parameterless read-only listing tool, the description covers when to use it, what it returns conceptually, and what not to do with the output. It does not explicitly mention whether an account connection is required, but the sibling set and checkout context imply it is a lightweight pre-checkout lookup.

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 baseline is 4 and there is nothing for the description to clarify. The description still usefully defines the return semantics in terms of exact server-configured prices and plan identifiers.

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 and resource: listing CongressMCP subscription plans and showing exact server-configured prices. It clearly distinguishes itself from checkout creation by stating it never starts a checkout or charge, and the sibling set makes the contrast with create_subscription_checkout obvious.

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 says to use this tool before checkout, which is the key trigger condition, and warns against guessing prices or using plan identifiers not returned here. It does not explicitly name the alternative checkout tool, but the timing and negative instructions make the intended usage clear.

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

start_email_signupSend a CongressMCP email verification codeAInspect

Use this when the user wants to create or recover a CongressMCP account in chat. It sends a six-digit, 15-minute code to the supplied email after explicit acceptance of the terms and privacy policy. It does not start a subscription, expose whether an account already exists, or charge anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson or organization name for the account.
emailYesEmail address that will own the CongressMCP account.
accepted_termsYesTrue only after the user explicitly accepts https://www.congressmcp.com/terms and https://www.congressmcp.com/privacy.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations cover the general safety profile (not readOnly, openWorld, non-idempotent, not destructive), and the description adds meaningful context beyond that: the code format and expiry, the consent prerequisite, and explicit non-behaviors (no subscription, no account-existence disclosure, no charge). This is valuable side-effect disclosure.

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?

Three sentences, front-loaded with the trigger condition, followed by a crisp behavior summary and then non-behaviors. No wasted words; every sentence contributes to correct invocation.

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 side-effect tool with no output schema, the description covers the when, what, and not-what. It could mention next steps (e.g., using verify_email_signup) or return behavior, but annotations and sibling names make those inferable. The description is essentially complete for an agent to call it 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 coverage is 100%, so the description does not need to compensate. It reinforces the email and acceptance concepts already documented in the schema but does not add new parameter-level meaning 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 action (sends a six-digit verification code) and the resource (CongressMCP account via email), and explicitly differentiates itself from siblings by noting it does not start a subscription or expose account existence. This makes the tool's purpose unmistakable relative to its siblings.

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 opens with a clear 'Use this when...' condition covering both account creation and recovery. It also names boundary behaviors ('does not start a subscription, does not expose whether an account already exists') that prevent misuse, though it does not explicitly name alternative tools for those cases.

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

verify_email_signupVerify a CongressMCP email codeAInspect

Use this after start_email_signup when the user provides the six-digit code from their email. It verifies email control, activates the free account when needed, and returns a short-lived onboarding token for checkout and status calls. The token is not an OAuth token or API key and cannot access CongressMCP research or workspace data.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSix-digit code from the CongressMCP verification email.
emailYesThe same normalized account email used to request the code.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (not read-only, not idempotent, not destructive). The description adds valuable context beyond annotations: it explains the token is not an OAuth token or API key and cannot access research/workspace data, and that the account is activated only 'when needed'. This clarifies side effects and token limitations without contradicting any annotation.

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 sentences with zero waste. The first sentence front-loads usage context and primary function; the second adds a necessary security/behavioral note. Every clause earns its place.

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 two-parameter tool with no output schema, the description is largely complete: it states the input context, the action, the return value (short-lived token), and the token's limitations. It could mention error cases (e.g., invalid/expired code) but this is a minor gap given the simple schema and available annotations.

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 schema already documents both parameters. The description's mention of 'six-digit code' and 'same normalized account email' reinforces but does not extend the schema's meaning. Baseline 3 is appropriate as the schema does the heavy lifting.

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 a specific verb and resource: it verifies email control, activates the free account, and returns a token. It explicitly references start_email_signup as the predecessor, distinguishing it from checkout/status tools and connect_congressmcp_account. No ambiguity about what this tool does.

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 gives explicit sequencing ('after start_email_signup') and the trigger condition ('when the user provides the six-digit code'). It also implies the token is for subsequent checkout/status calls, but does not name alternatives or explicitly state when not to use it. This is clear context without exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedconnect_congressmcp_account
    • First observedcreate_subscription_checkout
    • First observedget_subscription_status
    • First observedlist_subscription_plans
    • First observedstart_email_signup
    • First observedverify_email_signup

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Access U.S. state legislative data including bills, legislators, and votes across all 50 states via the OpenStates API.
    8 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides access to legislative data from all 50 US states through the LegiScan API, enabling comprehensive search and retrieval of bills, votes, legislators, and legislative session information.
    10
    32 npm
    11
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides tools to search and retrieve US federal and state legislative data, including bills, votes, campaign contributions, and legislator information, with provenance tracking.
    8
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources