Skip to main content
Glama

Entity Profile

entity_profile
Read-onlyIdempotent

"Tell me about X" / "research Acme" / "brief me on Tesla" / "what does Apple do" / "company profile for Microsoft" / "give me the rundown on NVDA" / "everything you know about $TICKER" — full cross-source profile of a US public company in ONE parallel call. ALWAYS PREFER over chaining single-pack SEC/XBRL/news lookups when the user asks for a holistic view. Fans out across SEC EDGAR, XBRL, USPTO patents, federal contracts (USAspending), FDA-licensed biologics (Purple Book), H-1B hiring (DOL LCA), news and GLEIF, and returns: cik + company_name (+ resolved_from/resolved_to when value was a name); recent_filings (up to 5 with pipeworx://edgar/company/{cik}/filings/{accession} URIs); fundamentals (LATEST 10-K Revenues + NetIncomeLoss + Cash, sorted period_end DESC); patents (USPTO PatentsView API sunset May 2025 — soft-fails until reactivated); federal_contracts (USAspending awards where the company is the recipient); fda_products (FDA-licensed biologics — vaccines, cell/gene therapies — from the Purple Book; a company with only small-molecule/generic drugs will show none here, that is expected, not a failure); hiring (H-1B sponsorship volume + salary range from DOL LCA filings); recent news mentions via GDELT→GNews fallback; LEI via GLEIF. sources_used / sources_failed say which of these actually returned data for THIS company — an empty section is a real "no data", not a bug. Pass a ticker ("AAPL"), zero-padded CIK ("0000320193"), OR a company name ("Moderna") — names now resolve via SEC EDGAR's company-name match; a private company (no CIK/ticker) returns resolved:false with an explicit notes line, not a bare failure. type accepts "company" or "ticker" interchangeably — both take the same value shapes above.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYes"company" or "ticker" — both are accepted and behave identically; `value` can be a ticker, CIK, or company name either way. person/place coming soon.
valueYesTicker (e.g., "AAPL"), zero-padded CIK (e.g., "0000320193"), or company name (e.g., "Moderna") — names resolve via SEC EDGAR company-name match.

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses important behavioral traits beyond annotations: it explains that the tool fans out across multiple sources and returns specific data (cik, recent_filings with URIs, fundamentals sorted by period_end, patents via USPTO with a soft-fail note, news via GDELT→GNews fallback, LEI via GLEIF). The transparency about the USPTO sunset and soft-failure adds value. No contradiction with annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false).

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 a single dense paragraph but every sentence adds value. It begins with usage examples and then details the tool's capabilities. While it could be more structured (e.g., bullet points for return fields), it remains relatively concise and front-loaded with examples. A minor improvement would be better organization, but it is still effective.

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 tool's complexity (multiple data sources, no output schema), the description is complete. It lists all expected return fields (cik, company_name, recent_filings, fundamentals, patents, news, LEI) and explains behavior for each. The notes about USPTO sunset and fallback mechanisms provide sufficient context for an agent to understand limitations and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, and the description adds significant meaning. For 'type', it clarifies that only 'company' is supported and that 'person/place coming soon.' For 'value', it explains that it accepts ticker or zero-padded CIK and explicitly states that names are not supported, linking to 'resolve_entity' as an alternative. This provides more context than the schema alone.

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 purpose: 'full cross-source profile of a US public company in ONE parallel call'. It lists the specific sources (SEC EDGAR, XBRL, USPTO, news, GLEIF) and outputs. It distinguishes from sibling 'resolve_entity' by explicitly noting that names are not supported and that tool should be used first if only a name is available.

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?

The description provides explicit usage guidance: 'ALWAYS PREFER over chaining single-pack SEC/XBRL/news lookups when the user asks for a holistic view.' It also specifies when not to use: 'names not supported (use resolve_entity first if you only have a name).' This clearly communicates the tool's role relative to alternatives.

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.

TDQS

A3.6/5.0
Disambiguation2/5

The ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded trio are nearly indistinguishable, with beta currently behaving identically to the stable version. Entity_profile, recent_changes, and compare_entities also overlap heavily as multi-source company research tools, and the six polymarket tools create additional boundary confusion.

Naming Consistency2/5

Most tools use snake_case, but there is no consistent verb_noun pattern: some are imperative phrases (ask_pipeworx, bls_get_series, resolve_entity), while others are noun phrases (entity_profile, pipeworx_feedback, polymarket_edges, recent_alerts). Even within the bls_* family, bls_latest breaks the verb pattern established by bls_get_series and bls_search.

Tool Count2/5

35 tools is well above the 25+ threshold for 'too many', and the server is named Bls yet only four tools actually serve BLS data. Most of the remaining tools cover unrelated domains like Polymarket arbitrage, memory, feedback, and general Pipeworx routing, making the count feel inflated for the apparent purpose.

Completeness3/5

The four BLS-specific tools cover search, browse, historical series fetch, and latest value, but there is no multi-series fetch or series metadata detail, which is a notable gap for a BLS-focused server. The broader Pipeworx toolset is extensive, but the lack of a coherent stated domain makes completeness hard to evaluate as a unified surface.