Skip to main content
Glama
lynx-mi

lynx-mi/lynx-mi-mcp

by lynx-mi

🐆 Lynx MI — MCP 서버

Lynx 시장 인텔리전스를 위한 모델 컨텍스트 프로토콜(MCP) 서버

AI 코딩 어시스턴트에게 SEC 내부자 거래 데이터, 시장 심리, 정치적 인텔리전스 등에 대한 실시간 액세스 권한을 부여하세요.

npm version License: MIT


이것은 무엇인가요?

이 MCP 서버는 Claude, Cursor, Windsurf, Cline과 같은 AI 코딩 어시스턴트를 Lynx MI에 직접 연결합니다. Lynx MI는 SEC 내부자 거래, 의회 주식 거래, 로비 활동 등을 추적하는 시장 인텔리전스 플랫폼입니다.

연결 후에는 AI 어시스턴트에게 다음과 같은 질문을 할 수 있습니다:

  • "이번 주 NVDA에서 어떤 내부자 거래가 있었나요?"

  • "지난 90일간 성과가 가장 좋았던 내부자들을 보여줘"

  • "현재 내부자들이 가장 많이 매수하고 있는 섹터는 어디인가요?"

  • "다가오는 실적 발표일 근처에서 거래하는 내부자가 있나요?"

  • "AAPL의 Nexus 정치 인텔리전스 점수는 얼마인가요?"

Related MCP server: mcp-finnhub

사전 요구 사항

  • Node.js 18+ 버전

  • Advanced 구독 이상의 Lynx MI 계정

  • 개인 API 키 (lynx-mi.com/settings에서 생성)

빠른 설정

Claude Desktop

claude_desktop_config.json에 다음을 추가하세요:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "lynx-mi": {
      "command": "npx",
      "args": ["-y", "lynx-mi-mcp-server"],
      "env": {
        "LYNX_MI_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Cursor

Settings → MCP Servers → Add new server로 이동하여 다음을 사용하세요:

{
  "command": "npx",
  "args": ["-y", "@lynx-mi/mcp-server"],
  "env": {
    "LYNX_MI_API_KEY": "sk_live_your_key_here"
  }
}

Windsurf / Cline

MCP 설정에 다음을 추가하세요:

{
  "lynx-mi": {
    "command": "npx",
    "args": ["-y", "@lynx-mi/mcp-server"],
    "env": {
      "LYNX_MI_API_KEY": "sk_live_your_key_here"
    }
  }
}

Google Gemini CLI

~/.gemini/settings.json에 다음을 추가하세요:

{
  "mcpServers": {
    "lynx-mi": {
      "command": "npx",
      "args": ["-y", "@lynx-mi/mcp-server"],
      "env": {
        "LYNX_MI_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

사용 가능한 도구

📊 거래 (Trades)

도구

설명

get_latest_trades

필터가 적용된 최근 SEC 내부자 거래

get_trades_by_ticker

특정 주식에 대한 모든 내부자 활동

get_trades_by_insider

특정 내부자의 모든 거래

search_insider

이름으로 내부자 검색

search_ticker

심볼이나 이름으로 티커 검색

📈 시장 인텔리전스 (Market Intelligence)

도구

설명

get_market_sentiment

현재 시장 내부자 매수/매도 비율

get_top_movers

내부자 거래량이 가장 많은 주식

get_insider_profile

상세 내부자 프로필 및 통계

🔬 프로 분석 (Pro Analytics)

도구

설명

get_sector_flow

섹터별 자금 흐름 (선행 지표)

get_correlations

공유된 내부자를 통한 숨겨진 기업 연결

get_insider_network

내부자-기업 관계의 네트워크 그래프

get_network_top

가장 많이 연결된 내부자 및 기업

get_trade_heatmap

티커별 거래량 히트맵

get_earnings_proximity

다가오는 실적 발표 근처의 거래 (⚠️ 높은 신호)

get_filing_diff

내부자의 최근 SEC 공시 2건 비교

get_conviction_score

거래 확신 점수 분석

🏆 리더보드 (Leaderboard)

도구

설명

get_leaderboard

30/90일 수익률 기준 상위 내부자

get_insider_rank

특정 내부자의 순위 및 통계

🏛️ Nexus (정치 인텔리전스)

도구

설명

get_nexus_score

정치 + 로비 + 내부자 종합 점수

get_congressional_trades

미국 의회 의원 주식 거래

get_lobbying_activity

기업 로비 보고서 및 지출

시계열 및 공급망 인텔리전스

실시간 내부자 거래 외에도, Lynx MI는 고급 AI 정량 분석을 지원하기 위해 심층적인 과거 시계열 데이터와 관계형 그래프를 제공합니다:

  • 의회 및 행정부 거래 (STOCK Act): 미국 상원의원, 하원의원 및 그 가족의 주식 거래에 대한 과거 시계열 데이터를 조회하세요. 특정 입법 이벤트나 위원회 배정과 연계된 포트폴리오 변경 사항을 추적하여 정치적 정보 우위를 파악할 수 있습니다.

  • 기업 로비 지출 (LDA): 분기별 로비 지출 과거 시계열 데이터에 액세스하세요. 특정 기업이 어떤 법안과 정부 기관을 대상으로 하는지 추적하여 향후 규제 환경의 변화를 예측할 수 있습니다.

  • 공급업체 및 고객 공급망 그래프: 복잡한 B2B 의존 관계를 추출하세요. 1차 및 2차 공급업체, 주요 고객 관계, 매출 노출도를 매핑합니다. 네트워크 내의 한 기업이 무너지거나 대규모 계약을 체결하면, AI 어시스턴트가 Nexus 엔드포인트를 사용하여 공급망 전반에 걸친 직접적인 재무적 영향을 추적할 수 있습니다.

대화 예시

주식 조사

사용자: 테슬라의 내부자 거래 활동은 어떤가요?

Claude: ticker="TSLA"와 함께 get_trades_by_ticker 사용 지난 90일 동안 테슬라에서 12건의 내부자 거래를 발견했습니다...

신호 감지

사용자: 실적 발표 근처에 의심스러운 거래가 있나요?

Claude: get_earnings_proximity 사용 다가오는 실적 발표 7일 이내에 5건의 거래를 발견했습니다...

정치 인텔리전스

사용자: 애플의 정치적 리스크는 무엇인가요?

Claude: ticker="AAPL"과 함께 get_nexus_score 사용 애플의 Nexus 점수는 72/100이며, 이는 막대한 로비 지출에 기인합니다...

API 키 발급 방법

  1. lynx-mi.com에 접속하여 계정을 만듭니다.

  2. Advanced 플랜 이상을 구독합니다.

  3. Settings → API Key로 이동합니다.

  4. Generate API Key를 클릭합니다.

  5. sk_live_... 키를 복사하여 MCP 설정에 붙여넣습니다.

개발

# Install dependencies
npm install

# Run in development mode
LYNX_MI_API_KEY=sk_live_... npm run dev

# Build for production
npm run build

# Test the built server
LYNX_MI_API_KEY=sk_live_... npm start

요금

이 MCP 서버는 무료 오픈 소스입니다. API 키를 제공하는 Lynx MI 구독료만 지불하면 됩니다:

플랜

가격

MCP 액세스

Free

$0/월

❌

Recreational

$9.99/월

❌

Advanced

$24.99/월

✅ 모든 도구

Enterprise

$49.99/월

✅ 모든 도구 + Nexus

라이선스

MIT © Lynx MI

Available Tools

21 tools
get_congressional_tradesC

Get recent stock trades by US Congress members (House and Senate). Filterable by ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoOptional: filter by ticker symbol
daysNoLook back N days (default: 90)
limitNoMax results (default: 25)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions filtering by ticker but lacks details on permissions, rate limits, data freshness, pagination, or error handling. For a data retrieval tool with zero annotation coverage, this is a significant gap in transparency.

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 extremely concise—two sentences that directly state the tool's purpose and a key feature (filtering). It's front-loaded with essential information and has zero wasted words, making it highly efficient for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain return values, data format, or behavioral traits like rate limits. For a tool with three parameters and no structured safety hints, more context is needed to ensure reliable agent use.

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 fully documents the three parameters (ticker, days, limit). The description adds minimal value beyond the schema by mentioning ticker filtering but doesn't elaborate on parameter interactions or semantics. Baseline 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Get recent stock trades by US Congress members (House and Senate).' It specifies the resource (stock trades), actors (Congress members), and scope (recent, filterable). However, it doesn't explicitly differentiate from sibling tools like 'get_latest_trades' or 'get_trades_by_insider', which might overlap in functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance: 'Filterable by ticker.' It doesn't specify when to use this tool versus alternatives like 'get_trades_by_insider' or 'get_latest_trades', nor does it mention any prerequisites, exclusions, or optimal contexts for use. The guidance is insufficient for informed tool selection.

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

get_conviction_scoreC

Get the conviction score breakdown for a specific trade. Scores factor in trade size relative to holdings, cluster patterns, C-suite status, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
trade_idYesThe unique trade ID (UUID)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions factors like trade size, cluster patterns, and C-suite status, which add some context about how the score is calculated. However, it lacks critical details such as whether this is a read-only operation, what the output format looks like, potential rate limits, or error conditions. The description is insufficient for a tool with no annotation coverage.

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, efficient sentence that front-loads the core purpose. It avoids unnecessary words and directly states what the tool does. However, it could be slightly more structured by separating usage guidelines or behavioral details, but it earns its place as concise and well-focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a scoring tool with no annotations and no output schema, the description is incomplete. It explains the factors considered in the score but doesn't cover the return values, error handling, or operational constraints. For a tool that likely outputs a structured score breakdown, more context is needed to guide the agent effectively.

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 has 100% description coverage, with the single parameter 'trade_id' documented as a UUID. The description adds no additional parameter semantics beyond what the schema provides (e.g., it doesn't clarify format examples or constraints). Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't need to compensate but also adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('conviction score breakdown for a specific trade'), specifying what the tool does. It distinguishes from siblings by focusing on conviction scores rather than other data types like trades, correlations, or network info. However, it doesn't explicitly differentiate from get_nexus_score (another scoring tool), leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid trade ID), exclusions, or comparisons to sibling tools like get_nexus_score or get_insider_profile, which might offer related insights. Usage is implied only by the tool name and description.

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

get_correlationsA

Find other stocks traded by the same insiders who trade a given ticker. Reveals hidden connections between companies through shared insider activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesThe source ticker to find correlations for

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does ('Find other stocks', 'Reveals hidden connections') but does not disclose behavioral traits such as whether it requires authentication, rate limits, data freshness, or what the output format looks like (e.g., list of tickers with correlation scores). This leaves significant gaps for an agent to understand how to invoke and interpret results.

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 front-loaded and concise with two sentences that efficiently convey the tool's purpose and value. Every sentence earns its place by stating the action and the insight gained, with no redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (finding correlations based on insider activity) and the absence of annotations and output schema, the description is incomplete. It explains the purpose but lacks details on behavioral aspects, output format, and usage nuances. However, it adequately covers the core functionality for a read-only query tool with a single parameter.

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 has 100% coverage with a clear description for the 'ticker' parameter. The description adds minimal semantic value beyond the schema by implying the ticker is used to find correlations through shared insider activity, but it does not provide additional details like format constraints or examples. With high schema coverage, 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 purpose with specific verbs ('Find other stocks', 'Reveals hidden connections') and identifies the resource ('stocks traded by the same insiders who trade a given ticker'). It distinguishes from siblings by focusing on correlation through shared insider activity rather than direct trades, profiles, or other metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('to find correlations for' a ticker) but does not explicitly state when to use this tool versus alternatives like get_insider_network or get_trades_by_ticker. It suggests the tool reveals connections through shared insider activity, which provides some guidance but lacks explicit comparisons or exclusions.

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

get_earnings_proximityA

Flag insider trades that occurred suspiciously close to upcoming earnings dates. A powerful signal for potential information asymmetry.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default: 20)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool is 'a powerful signal' but lacks details on what 'Flag' entails (e.g., returns a list, triggers alerts, requires authentication), rate limits, or data sources. This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

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 that are front-loaded with the main purpose and efficiently add context about the tool's significance ('A powerful signal for potential information asymmetry'). Every word contributes to understanding without redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (analyzing insider trades relative to earnings dates), no annotations, and no output schema, the description is incomplete. It lacks details on return values (e.g., what data is flagged), behavioral traits, or error handling, making it adequate but with clear gaps for effective agent use.

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 input schema has 1 parameter with 100% description coverage, so the baseline is 3. The description does not add specific parameter details beyond the schema, but since there is only one optional parameter ('limit'), the tool's core functionality is well-defined without heavy reliance on parameters, justifying a score above baseline.

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 with a specific verb ('Flag') and resource ('insider trades'), specifying the condition 'that occurred suspiciously close to upcoming earnings dates'. It distinguishes from siblings like 'get_latest_trades' or 'get_trades_by_insider' by focusing on temporal proximity to earnings events, not just retrieving trades.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for detecting 'potential information asymmetry' around earnings dates, suggesting context for regulatory or investigative scenarios. However, it does not explicitly state when to use this tool versus alternatives like 'get_congressional_trades' or 'search_insider', nor does it provide exclusions or prerequisites for use.

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

get_filing_diffB

Compare an insider's last two SEC filings to see what changed — position size, price, title, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
insider_nameYesFull name of the insider

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only comparison operation but fails to specify critical details like error handling (e.g., if the insider has fewer than two filings), output format, or any rate limits or authentication requirements.

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 a single, efficient sentence that front-loads the core purpose and includes specific examples of changes. There is no wasted verbiage, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of comparing SEC filings and the lack of annotations or output schema, the description is incomplete. It omits details on output structure, error conditions, and behavioral constraints, leaving significant gaps for an AI agent to use the tool effectively.

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 the single parameter 'insider_name' as a full name. The description adds no additional semantic context, such as name formatting examples or how it matches against SEC data, maintaining the baseline score.

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 specific action ('Compare'), resource ('an insider's last two SEC filings'), and scope ('what changed — position size, price, title, and more'), distinguishing it from sibling tools like get_insider_profile or get_latest_trades that focus on different aspects of insider data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as get_latest_trades for recent activity or get_insider_profile for general information. It also lacks prerequisites, like whether the insider must have at least two filings available.

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

get_insider_networkC

Build a network graph centered on an insider or company, showing all connected entities. Reveals the web of insider relationships.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYesThe insider name or ticker symbol to center the graph on
node_typeNoWhether node_id is an insider name or company ticker (default: 'insider')
depthNoGraph traversal depth: 1 or 2 (default: 1)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Reveals the web of insider relationships,' which implies a read-only operation, but does not specify permissions, rate limits, data freshness, or output format. For a tool with no annotations and no output schema, this is insufficient to inform the agent about key behavioral traits like response structure or constraints.

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 concise and front-loaded, with two sentences that directly state the tool's purpose. There is no unnecessary information, and each sentence contributes to understanding the tool's function. However, it could be slightly improved by integrating usage hints or behavioral details without adding redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of building a network graph, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, output format, and usage context. While the purpose is clear, the agent would struggle to understand how to interpret results or when to prefer this tool over siblings, making it inadequate for full contextual understanding.

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%, meaning the input schema already documents all parameters well. The description adds minimal value beyond the schema, as it does not explain parameter interactions or provide additional context. For instance, it does not clarify how 'depth' affects the graph or what 'connected entities' entail. Baseline 3 is appropriate since the schema handles most of the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Build a network graph centered on an insider or company, showing all connected entities.' It specifies the verb ('build'), resource ('network graph'), and scope ('centered on an insider or company'), but does not explicitly differentiate it from sibling tools like 'get_network_top' or 'get_insider_profile', which might have overlapping functionality. This makes it clear but not fully distinguished from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions the purpose but does not specify scenarios, prerequisites, or exclusions. For example, it does not compare to 'get_network_top' or 'get_insider_profile', leaving the agent to infer usage based on tool names alone. This lack of explicit context reduces its effectiveness in guiding tool selection.

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

get_insider_profileC

Get a detailed profile of a specific insider: trading history, avg trade size, sectors, and behavioral patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
insider_nameYesFull name of the insider

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves a detailed profile, implying a read-only operation, but does not disclose any behavioral traits such as rate limits, authentication requirements, data freshness, or potential errors. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that front-loads the core purpose ('Get a detailed profile of a specific insider') and lists key components without unnecessary elaboration. It is appropriately sized for the tool's complexity, with no wasted words, though it could be slightly more structured by separating usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (detailed profile with multiple data points), lack of annotations, and no output schema, the description is incomplete. It does not explain what the return values include beyond high-level categories, nor does it cover behavioral aspects like performance or limitations. For a tool with rich expected output and no structured support, the description should provide more context to be fully helpful.

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 has 100% description coverage, with the parameter 'insider_name' documented as 'Full name of the insider'. The description adds no additional meaning beyond this, as it does not explain parameter semantics like format constraints or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema already handles the parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Get a detailed profile of a specific insider' with specific components like trading history, average trade size, sectors, and behavioral patterns. It distinguishes itself from siblings like get_insider_network or get_insider_rank by focusing on a comprehensive individual profile rather than network connections or rankings. However, it could be more specific about what distinguishes it from get_trades_by_insider, which might overlap in trading history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when to choose this over siblings like search_insider, get_trades_by_insider, or get_insider_network, nor does it specify any prerequisites or exclusions. The context is implied (e.g., when detailed insider info is needed), but explicit usage guidelines are absent.

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

get_insider_rankC

Get a specific insider's rank and performance stats on the leaderboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
insider_nameYesFull name of the insider

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation by using 'Get', but doesn't specify authentication needs, rate limits, error handling, or the format of returned stats. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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 a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for a simple tool, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'rank and performance stats' entail, how they're formatted, or any prerequisites like authentication. For a tool that likely returns structured data, more context is needed to fully guide the agent.

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 description adds no specific meaning beyond the input schema, which has 100% coverage for the single parameter 'insider_name'. Since the schema already fully documents the parameter, the baseline score of 3 is appropriate, as the description doesn't compensate with additional context or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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 with a specific verb ('Get') and resource ('a specific insider's rank and performance stats on the leaderboard'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'get_insider_profile' or 'get_leaderboard', which might provide overlapping or related information, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_insider_profile' for broader details or 'get_leaderboard' for overall rankings, leaving the agent to infer usage context without explicit direction.

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

get_latest_tradesA

Get the most recent insider trades filed with the SEC. Filter by ticker symbol, insider name, signal type (buy/sell/corp), and time window. Returns trade details including conviction scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoFilter by stock ticker symbol (e.g. AAPL, TSLA)
insider_nameNoFilter by insider's name
signal_typeNoFilter by signal type: 'buy' (open-market purchases), 'sell' (open-market sales), 'corp' (corporate actions like grants/exercises)
daysNoLook back N days (default: 7)
limitNoMax results to return (default: 25, max: 100)

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's behavior as a read operation ('Get', 'Returns') and mentions filtering capabilities and return content. However, it omits details like rate limits, authentication needs, pagination, or error handling, which are important for a tool with multiple parameters and 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by filtering options and return details in a single, efficient sentence. Every part earns its place without redundancy, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no annotations, and no output schema, the description is moderately complete. It covers the tool's purpose, filtering, and return content, but lacks behavioral details (e.g., rate limits, defaults beyond schema) and does not explain the structure of returned trade details or conviction scores, leaving gaps for an agent to infer.

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 fully documents all 5 parameters. The description adds minimal value beyond the schema by listing filter types (ticker, insider name, signal type, time window) and mentioning conviction scores in returns, but does not provide additional syntax, format, or usage details for parameters. Baseline 3 is appropriate given high schema coverage.

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 with specific verbs ('Get', 'Filter', 'Returns') and resources ('most recent insider trades filed with the SEC', 'trade details including conviction scores'). It distinguishes itself from siblings like get_trades_by_insider and get_trades_by_ticker by emphasizing recency and multiple filtering dimensions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its filtering parameters (ticker, insider name, signal type, time window), suggesting when to use it for specific queries. However, it lacks explicit guidance on when to choose this tool over alternatives like get_trades_by_insider or search_insider, and does not mention any exclusions or prerequisites.

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

get_leaderboardB

Get the insider trading performance leaderboard — which insiders have the best 30/90-day returns after their trades.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoPerformance window in days (default: 90)
limitNoMax results (default: 20)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the performance window (30/90-day returns) but does not disclose behavioral traits such as data freshness, rate limits, authentication needs, or what 'best' means (e.g., sorted by highest returns). This leaves significant gaps for a tool that likely involves data aggregation and ranking.

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 a single, efficient sentence that front-loads the core purpose ('Get the insider trading performance leaderboard') and adds essential context ('which insiders have the best 30/90-day returns after their trades'). Every word earns its place with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool that returns ranked data. It lacks details on output format (e.g., list structure, fields included), sorting criteria, or handling of ties. For a leaderboard tool with two parameters, this leaves the agent guessing about key behavioral aspects.

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%, with clear parameter descriptions in the schema. The description adds no additional parameter semantics beyond implying a default focus on 30/90-day returns, which aligns with the 'days' parameter but doesn't provide extra details like format constraints or interaction effects. Baseline 3 is appropriate given high schema coverage.

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 verb ('Get') and resource ('insider trading performance leaderboard'), specifying what insiders are ranked by ('best 30/90-day returns after their trades'). It distinguishes from siblings like get_insider_rank or get_top_movers by focusing on post-trade returns rather than other metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for analyzing insider performance based on returns, but does not explicitly state when to use this tool versus alternatives like get_insider_rank or get_top_movers. It provides context (30/90-day returns) but lacks explicit guidance on exclusions or prerequisites.

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

get_lobbying_activityB

Get corporate lobbying reports — which companies are spending on lobbying, in what issue areas, and how much.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNoOptional: filter by company ticker
limitNoMax results (default: 25)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes a read operation ('Get') but does not specify permissions, rate limits, data freshness, or response format. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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 a single, efficient sentence that front-loads the core purpose without unnecessary details. Every word contributes to understanding the tool's function, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose but lacks behavioral details and usage guidelines. Without annotations or output schema, more context on permissions, data format, or limitations would improve completeness.

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 (ticker and limit). The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints. The baseline score of 3 is appropriate when the schema handles parameter documentation effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: retrieving corporate lobbying reports with specific details about companies, issue areas, and spending amounts. It uses specific verbs ('Get') and resources ('corporate lobbying reports'), but does not explicitly differentiate from sibling tools like 'get_congressional_trades' or 'get_earnings_proximity', which focus on different data domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools or contexts where other tools might be more appropriate, such as for insider trading data or market sentiment. Usage is implied by the data domain but not explicitly stated.

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

get_market_sentimentA

Get the current market-wide insider sentiment ratio (buy vs. sell activity), showing whether corporate insiders are net buyers or sellers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool retrieves 'current' data, implying real-time or recent information, but does not disclose behavioral traits such as data freshness, rate limits, authentication needs, or potential latency. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operation.

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 a single, well-structured sentence that efficiently conveys the tool's purpose without any wasted words. It is front-loaded with the core functionality and appropriately concise for a no-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and no annotations, the description provides basic purpose but lacks completeness. It does not explain return values (e.g., format of the sentiment ratio), data sources, or limitations, which are important for a tool with no structured fields to compensate.

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 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description appropriately does not add param details, earning a baseline score of 4 for not overloading with unnecessary information.

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 with specific verb ('Get') and resource ('current market-wide insider sentiment ratio'), explaining it shows 'buy vs. sell activity' and whether insiders are 'net buyers or sellers'. It effectively distinguishes from siblings like get_congressional_trades or get_insider_profile by focusing on aggregate market sentiment rather than individual trades or profiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for assessing overall market sentiment from insider activity, but does not explicitly state when to use this tool versus alternatives like get_sector_flow or get_trade_heatmap. It provides context but lacks specific guidance on exclusions or prerequisites.

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

get_network_topB

Get the most connected insiders and companies in the network graph. Shows who are the most influential nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does ('get' and 'shows') but lacks critical details: whether this is a read-only operation, how data is sourced or updated, what 'most connected' means (e.g., by degree centrality), or any limitations like rate limits or authentication needs. The description is too vague for a tool with no annotation coverage.

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 concise with two sentences that directly address the tool's function. The first sentence states the core purpose, and the second adds context about 'influential nodes.' There's no wasted verbiage, though it could be slightly more structured (e.g., by clarifying 'influential').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of network analysis and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'most connected' entails (e.g., metrics used, time frame), how results are returned, or any behavioral traits. For a tool that likely returns structured network data, more context is needed to guide effective use.

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 0 parameters, and schema description coverage is 100% (since there are no parameters to describe). The description doesn't need to add parameter semantics, so a baseline score of 4 is appropriate. It mentions 'network graph' which implicitly defines the scope but doesn't conflict with the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Get the most connected insiders and companies in the network graph' specifies the verb (get) and resource (network graph nodes). It distinguishes from some siblings like 'get_insider_profile' or 'get_trades_by_ticker' by focusing on network connectivity rather than individual profiles or trades. However, it doesn't explicitly differentiate from 'get_insider_network' which might cover similar ground.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'most connected insiders and companies' but doesn't specify use cases, prerequisites, or exclusions. Given siblings like 'get_insider_network' that might overlap, the lack of comparative guidance is a significant gap.

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

get_nexus_scoreA

Get the Nexus political intelligence score for a ticker. Combines congressional trading activity, lobbying spend, and insider trading into a single risk/opportunity score.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does (calculates a score from multiple sources) but lacks details on permissions, rate limits, data freshness, or response format. For a tool with no annotation coverage, this leaves significant gaps in understanding its operational behavior.

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 that are front-loaded with the core purpose and efficiently explain the score's composition. Every sentence adds value without redundancy, making it appropriately sized and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (aggregating multiple data sources) and lack of annotations or output schema, the description is moderately complete. It explains what the tool does but does not cover behavioral aspects like error handling or output details. This is adequate for a read-only tool but could be more comprehensive given the data integration involved.

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%, with the single parameter 'ticker' documented as 'Stock ticker symbol' in the schema. The description does not add further meaning beyond this, such as format examples or constraints. Baseline 3 is appropriate since the schema handles parameter documentation adequately.

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 verb ('Get') and resource ('Nexus political intelligence score for a ticker'), specifying it combines congressional trading activity, lobbying spend, and insider trading into a single risk/opportunity score. This distinguishes it from siblings like get_congressional_trades or get_lobbying_activity, which focus on individual components rather than an aggregated score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by mentioning the score combines specific data sources, suggesting it should be used when a comprehensive political intelligence metric is needed. However, it does not explicitly state when to use this tool versus alternatives like get_conviction_score or get_market_sentiment, nor does it provide exclusions or prerequisites for use.

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

get_sector_flowA

Aggregate insider money flow by sector. Shows which sectors are seeing the most insider buying vs. selling — a leading indicator of sector rotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook back N days (default: 30)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does (aggregates and shows insider money flow) but lacks details on permissions, rate limits, data freshness, or output format. For a tool with no annotation coverage, this is a significant gap in transparency about how it behaves operationally.

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 core functionality and followed by explanatory context. Every word earns its place, with no redundancy or fluff, making it highly efficient and easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description adequately covers the tool's purpose but lacks details on behavioral aspects like data sources, update frequency, or error handling. For a tool with one parameter and high schema coverage, it's minimally viable but could be more complete by addressing operational context.

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%, with the single parameter 'days' documented in the schema. The description does not add any parameter-specific information beyond what the schema provides, such as valid ranges or effects on aggregation. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't need to.

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 with specific verbs ('aggregate', 'shows') and resources ('insider money flow by sector'), distinguishing it from siblings like get_congressional_trades or get_insider_profile by focusing on sector-level aggregation rather than individual trades or profiles. It explains the output's significance as a leading indicator of sector rotation, adding valuable context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for analyzing sector rotation based on insider activity, but does not explicitly state when to use this tool versus alternatives like get_market_sentiment or get_top_movers. No exclusions or prerequisites are mentioned, leaving the agent to infer context from the tool's focus on insider money flow by sector.

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

get_top_moversB

Get stocks with the highest insider trading activity (by volume). Shows which tickers have the most insider interest right now.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook back N days (default: 7)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves data based on insider trading activity by volume but does not disclose critical behavioral traits such as whether it requires authentication, rate limits, data freshness, or what the output format looks like (e.g., list of tickers with metrics). This leaves significant gaps for the agent to understand how to invoke and interpret results.

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 concise and front-loaded, consisting of two sentences that efficiently convey the tool's purpose and context without unnecessary details. Every sentence adds value: the first defines the action and resource, and the second provides additional context on what it shows, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a data retrieval tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., authentication, rate limits) and does not explain the return values or structure, which is critical for the agent to use the tool effectively. The description provides basic purpose but fails to address key contextual needs for invocation and interpretation.

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 has 100% description coverage for the single parameter 'days,' so the schema already documents it fully. The description does not add any parameter-specific information beyond what the schema provides, such as default behavior or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description does not compensate but also does not detract.

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 with a specific verb ('Get') and resource ('stocks with the highest insider trading activity'), and distinguishes it from siblings by focusing on volume-based ranking of insider interest. It explicitly mentions 'by volume' and 'most insider interest right now,' which differentiates it from tools like get_insider_rank or get_leaderboard that might use other metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('Shows which tickers have the most insider interest right now') but does not explicitly state when to use this tool versus alternatives like get_insider_rank or get_latest_trades. It provides a general purpose but lacks specific guidance on exclusions or comparisons with sibling tools, leaving some ambiguity for the agent.

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

get_trade_heatmapB

Returns a heatmap of insider trading activity by ticker, showing volume, trade count, net value, and bullish/bearish sentiment for each stock.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLook back N days (default: 7, max: 90)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the tool returns data but doesn't disclose behavioral traits like rate limits, authentication needs, data freshness, or format of the heatmap (e.g., JSON structure, image). For a tool with no annotations, this leaves significant gaps in understanding how it behaves.

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 a single, efficient sentence that front-loads the core purpose and details without waste. Every part ('Returns a heatmap... showing volume...') directly contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a simple single parameter, the description is adequate but incomplete. It covers the purpose and data elements but lacks details on output format, behavioral constraints, or usage context, making it minimally viable for a read-only tool.

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 the single parameter 'days' with its type, default, and max. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3.

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 specific action ('Returns a heatmap'), resource ('insider trading activity by ticker'), and scope ('showing volume, trade count, net value, and bullish/bearish sentiment for each stock'). It distinguishes from siblings like get_latest_trades (specific trades) or get_insider_profile (individual insider data) by focusing on aggregated visual data across stocks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. While the description implies it's for aggregated insider trading analysis, it doesn't specify scenarios (e.g., market sentiment analysis, stock screening) or contrast with siblings like get_market_sentiment (broader sentiment) or get_top_movers (price-based movers).

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

get_trades_by_insiderB

Get all trades by a specific corporate insider across all companies. Useful for tracking an executive's full trading pattern.

ParametersJSON Schema
NameRequiredDescriptionDefault
insider_nameYesFull name of the insider (e.g. 'Mark Zuckerberg')
daysNoLook back N days (default: 365)
limitNoMax results (default: 50)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving 'all trades' and tracking patterns, but doesn't disclose critical traits such as whether this is a read-only operation, potential rate limits, authentication needs, data freshness, or what happens if no trades are found. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

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 core purpose and followed by a brief usage hint. Every sentence earns its place without redundancy, making it appropriately sized and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a query tool with 3 parameters), no annotations, and no output schema, the description is incomplete. It covers the basic purpose but lacks details on behavioral traits, output format, or error handling. For a tool with no structured support, this is adequate but has clear gaps, meeting the minimum viable standard.

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 has 100% description coverage, so the schema already documents all parameters (insider_name, days, limit) with their types and defaults. The description adds no additional meaning beyond what the schema provides, such as explaining trade-offs or usage nuances. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('all trades by a specific corporate insider across all companies'), making the purpose explicit. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_trades_by_ticker' or 'search_insider', which might have overlapping functionality, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'Useful for tracking an executive's full trading pattern,' which implies a context for when to use this tool. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'get_trades_by_ticker' or 'search_insider', nor does it mention any exclusions or prerequisites, so the guidance is only implied.

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

get_trades_by_tickerA

Get all insider trading activity for a specific stock ticker. Shows who is buying/selling, volumes, and conviction scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol (e.g. AAPL)
daysNoLook back N days (default: 90)
limitNoMax results (default: 50)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'Shows who is buying/selling, volumes, and conviction scores,' which hints at output content, but lacks details on permissions, rate limits, data freshness, or pagination behavior. For a read operation with no annotation coverage, this is insufficient.

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 efficiently convey purpose and key output details without redundancy. The first sentence states the core function, and the second elaborates on data shown, making it front-loaded and waste-free.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides basic purpose and output hints but lacks behavioral context (e.g., error handling, data scope). It is minimally adequate for a read tool but incomplete for full agent understanding without structured support.

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%, with clear parameter descriptions in the schema (e.g., ticker as stock symbol, days as lookback). The description adds no additional parameter semantics beyond implying ticker filtering and output fields, so it meets the baseline of 3 without compensating for gaps.

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 verb ('Get') and resource ('all insider trading activity for a specific stock ticker'), specifying what data is retrieved (buying/selling, volumes, conviction scores). It distinguishes from siblings like get_congressional_trades (congressional focus) or get_trades_by_insider (insider-based filtering).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for ticker-specific insider trading analysis, but does not explicitly state when to use this tool versus alternatives like get_latest_trades (time-based) or search_ticker (broader search). No exclusions or prerequisites are mentioned, leaving some ambiguity in context.

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

search_insiderA

Search for corporate insiders by name. Returns matching names for use as filters in other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesPartial or full insider name to search for

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions the return type ('matching names'), it lacks details on behavioral traits such as search algorithm (e.g., partial/full match, case sensitivity), result limits, pagination, error handling, or performance expectations. This leaves significant gaps for a tool with no annotation coverage.

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 extremely concise and front-loaded, consisting of two sentences that efficiently convey purpose and usage without any redundant information. Every sentence earns its place by adding distinct value: the first defines the action, and the second explains the output's utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and usage but lacks details on behavioral aspects like result format, limitations, or error cases. Without annotations or output schema, more context would improve completeness for reliable agent use.

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 schema description coverage is 100%, with the parameter 'query' fully documented in the schema as 'Partial or full insider name to search for'. The description adds no additional semantic context beyond what the schema provides, such as examples or formatting rules, so it meets the baseline score for high schema coverage.

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 with a specific verb ('Search') and resource ('corporate insiders by name'), distinguishing it from siblings like get_insider_profile or get_trades_by_insider that retrieve different data types. It explicitly mentions the output's intended use ('for use as filters in other tools'), which adds clarity beyond basic search functionality.

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 provides clear context on when to use this tool: for searching insider names to obtain filters for other tools. However, it does not explicitly state when not to use it or name specific alternatives (e.g., search_ticker for tickers instead of insiders), which prevents a perfect score.

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

search_tickerC

Search for stock tickers by symbol or company name. Returns matching tickers.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesPartial ticker symbol or company name

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the action ('search') and return ('matching tickers'), but lacks details on behavioral traits like rate limits, authentication needs, error handling, or what 'matching' entails (e.g., partial matches, case sensitivity). This is inadequate for a tool with no annotation coverage.

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 highly concise and front-loaded: two sentences with zero waste. The first sentence states the purpose, and the second clarifies the return value. Every word earns its place, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain the return format (e.g., structure of 'matching tickers'), error cases, or usage constraints. For a search tool with potential complexity (e.g., matching logic), more context is needed to ensure proper agent invocation.

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 has 100% description coverage, with the 'query' parameter documented as 'Partial ticker symbol or company name.' The description adds minimal value beyond this, only restating 'by symbol or company name.' Baseline is 3 since the schema does the heavy lifting, but the description doesn't compensate with additional context (e.g., examples or format specifics).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Search for stock tickers by symbol or company name.' It specifies the verb ('search') and resource ('stock tickers'), and distinguishes it from siblings like 'search_insider' (which searches for insiders, not tickers). However, it doesn't explicitly differentiate from all siblings (e.g., 'get_trades_by_ticker' might involve tickers but is for trades, not searching).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or specific contexts (e.g., vs. 'get_top_movers' for trending tickers or 'search_insider' for insider data). Without such guidance, users might struggle to choose between related tools.

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. 21 tool updatesv0.1.0
    • First observedget_congressional_trades
    • First observedget_conviction_score
    • First observedget_correlations
    • First observedget_earnings_proximity
    • First observedget_filing_diff
    • First observedget_insider_network
    • First observedget_insider_profile
    • First observedget_insider_rank
    • First observedget_latest_trades
    • First observedget_leaderboard
    • First observedget_lobbying_activity
    • First observedget_market_sentiment
    • First observedget_network_top
    • First observedget_nexus_score
    • First observedget_sector_flow
    • First observedget_top_movers
    • First observedget_trade_heatmap
    • First observedget_trades_by_insider
    • First observedget_trades_by_ticker
    • First observedsearch_insider
    • First observedsearch_ticker

TDQS

A3.6/5.0

Scored across 21 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity, as each targets a specific aspect of the insider trading and political intelligence domain (e.g., get_congressional_trades for congressional activity, get_conviction_score for trade analysis, get_orrelations for network insights). The descriptions precisely differentiate their functions, ensuring agents can easily select the right tool without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, starting with 'get_' or 'search_' followed by a descriptive noun phrase (e.g., get_insider_profile, search_ticker). This uniformity makes the set predictable and readable, aiding agents in understanding and navigating the tools efficiently.

Tool Count4/5

With 21 tools, the count is slightly high but reasonable for the comprehensive scope of insider trading and political intelligence analysis. Each tool appears to serve a specific, non-redundant function, though it may feel heavy for simpler use cases; overall, it's well-scoped for the domain's complexity.

Completeness5/5

The tool surface provides complete coverage of the domain, including data retrieval (e.g., trades, profiles, scores), analysis (e.g., correlations, heatmaps), and search capabilities (insiders, tickers). It supports full workflows from discovery to deep analysis with no obvious gaps, enabling agents to handle a wide range of tasks without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that exposes 16 free investment-research signals (insider trades, SEC filings, short data, and live quotes) to any MCP-compatible LLM.
    65 npm
    101
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server providing comprehensive access to Finnhub financial market data API for AI assistants like Claude Desktop.
    15
    28 PyPI
    10
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Comprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.
    26
    106 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    This MCP server connects AI assistants to a Public.com brokerage account, enabling natural language trading of stocks, options, and crypto, along with portfolio management, quotes, and orders.
    37
    975 PyPI
    67
    Apache 2.0