Skip to main content
Glama

Search Companies

search_companies
Read-onlyIdempotent

Search SEC EDGAR for companies by name or ticker symbol. Returns matching company names and their CIK numbers, which are needed for other SEC tools.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesCompany name or ticker to search for (e.g., "Apple", "TSLA", "Microsoft")

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query used
companiesYesList of matching companies
total_hitsYesTotal number of matching results from SEC EDGAR

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "Apple"
      +  },
      +  {
      +    "query": "TSLA"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "companies": {
      +      "description": "List of matching companies",
      +      "items": {
      +        "properties": {
      +          "category": {
      +            "description": "Company category or type",
      +            "type": "string"
      +          },
      +          "cik": {
      +            "description": "Company CIK number (entity ID)",
      +            "type": "string"
      +          },
      +          "name": {
      +            "description": "Company name",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "cik",
      +          "name",
      +          "category"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "query": {
      +      "description": "The search query used",
      +      "type": "string"
      +    },
      +    "total_hits": {
      +      "description": "Total number of matching results from SEC EDGAR",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "total_hits",
      +    "companies"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • removedInput schema / examples
      Removed value: -[
      -  {
      -    "country": "us",
      -    "query": "Tesla"
      -  },
      -  {
      -    "query": "Acme Corp"
      -  }
      -]
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "companies": {
      -      "description": "List of matching companies",
      -      "items": {
      -        "properties": {
      -          "agent_name": {
      -            "description": "Registered agent name",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "branch_status": {
      -            "description": "Branch status if applicable",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "company_number": {
      -            "description": "Company registration number",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "dissolution_date": {
      -            "description": "Date of dissolution if applicable",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "incorporation_date": {
      -            "description": "Date of incorporation",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "industry_codes": {
      -            "description": "Industry classification codes",
      -            "items": {
      -              "properties": {
      -                "code": {
      -                  "description": "Industry code",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "description": {
      -                  "description": "Industry description",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "jurisdiction": {
      -            "description": "Jurisdiction code",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "name": {
      -            "description": "Company name",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "opencorporates_url": {
      -            "description": "OpenCorporates profile URL",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "previous_names": {
      -            "description": "Previous company names",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "registered_address": {
      -            "description": "Full registered address",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "registry_url": {
      -            "description": "URL to official registry",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "status": {
      -            "description": "Current company status",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "type": {
      -            "description": "Company type",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "query": {
      -      "description": "The search query used",
      -      "type": "string"
      -    },
      -    "returned": {
      -      "description": "Number of companies returned in this response",
      -      "type": "number"
      -    },
      -    "total": {
      -      "description": "Total number of matching companies",
      -      "type": "number"
      -    }
      -  },
      -  "required": [
      -    "query",
      -    "total",
      -    "returned",
      -    "companies"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "companies": {
      +      "description": "List of matching companies",
      +      "items": {
      +        "properties": {
      +          "agent_name": {
      +            "description": "Registered agent name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "branch_status": {
      +            "description": "Branch status if applicable",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "company_number": {
      +            "description": "Company registration number",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "dissolution_date": {
      +            "description": "Date of dissolution if applicable",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "incorporation_date": {
      +            "description": "Date of incorporation",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "industry_codes": {
      +            "description": "Industry classification codes",
      +            "items": {
      +              "properties": {
      +                "code": {
      +                  "description": "Industry code",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "description": {
      +                  "description": "Industry description",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "jurisdiction": {
      +            "description": "Jurisdiction code",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "description": "Company name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "opencorporates_url": {
      +            "description": "OpenCorporates profile URL",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "previous_names": {
      +            "description": "Previous company names",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "registered_address": {
      +            "description": "Full registered address",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "registry_url": {
      +            "description": "URL to official registry",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "status": {
      +            "description": "Current company status",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "type": {
      +            "description": "Company type",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "query": {
      +      "description": "The search query used",
      +      "type": "string"
      +    },
      +    "returned": {
      +      "description": "Number of companies returned in this response",
      +      "type": "number"
      +    },
      +    "total": {
      +      "description": "Total number of matching companies",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "total",
      +    "returned",
      +    "companies"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "country": "us",
      +    "query": "Tesla"
      +  },
      +  {
      +    "query": "Acme Corp"
      +  }
      +]
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds valuable behavioral context by specifying the return format (company names and CIK numbers) and the tool's role in the workflow, which goes beyond the structured 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?

The description is two sentences, front-loaded with the action and resource. The first sentence states what the tool does; the second explains the output and workflow context. Every word contributes value, with no redundancy or 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?

For a simple single-parameter tool with rich annotations and an output schema, the description is sufficiently complete. It covers the purpose, input type, output, and the critical workflow context (CIK needed for other SEC tools), enabling an agent to select and invoke the tool correctly without additional information.

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 provides a comprehensive description of the single 'query' parameter, including examples ("Apple", "TSLA"), covering 100% of parameters. The description's mention of 'name or ticker symbol' essentially restates the schema, adding no additional parameter nuance, so the baseline score of 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's action ('Search SEC EDGAR'), the resource (companies), and the input type (name or ticker symbol). It also describes the output (company names and CIK numbers) and explicitly connects this to other SEC tools, which distinguishes it from siblings that consume CIK numbers.

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 implies the primary use case by noting that CIK numbers are 'needed for other SEC tools,' establishing this as the entry point for SEC data retrieval. It does not explicitly name alternative tools or state exclusions, but the context is clear given the sibling tool names like get_company_facts and get_company_filings.

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.