Skip to main content
Glama

claw-mcp-toolkit

One install. 26 tools. Your AI agent is ready.

The Swiss Army Knife MCP server for AI agents. 5 modules, 26 tools, zero API keys required.

Works with Claude, ChatGPT, Gemini, and any MCP-compatible AI.

Installation

# Install from GitHub (recommended)
npm install -g github:ElromEvedElElyon/claw-mcp-toolkit

# Or run directly with npx
npx github:ElromEvedElElyon/claw-mcp-toolkit

# Or install from GitHub Packages (@elromevedelelyon scope)
npm install -g @elromevedelelyon/claw-mcp-toolkit --registry=https://npm.pkg.github.com

# Or install from release tarball
npm install -g https://github.com/ElromEvedElElyon/claw-mcp-toolkit/releases/download/v1.0.0/elromevedelelyon-claw-mcp-toolkit-1.0.0.tgz

Quick Start with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "claw-mcp-toolkit": {
      "command": "npx",
      "args": ["-y", "github:ElromEvedElElyon/claw-mcp-toolkit"]
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "claw-mcp-toolkit": {
      "command": "claw-mcp-toolkit"
    }
  }
}

26 Tools Across 5 Modules

Crypto (6 tools)

Tool

Description

crypto_price

Real-time price, market cap, 24h change for any coin

crypto_trending

Top 7 trending coins on CoinGecko

crypto_fear_greed

Fear & Greed Index (0-100)

crypto_market_overview

Global market cap, BTC dominance, active coins

crypto_price_history

Historical prices (1d to 365d) with high/low

crypto_search

Search coins by name or symbol

Web (5 tools)

Tool

Description

web_fetch

Fetch and extract readable text from any URL

web_extract_links

Extract all links from a webpage

web_dns_lookup

DNS record lookup via Google DNS

web_ssl_check

Check SSL certificate and security headers

web_seo_check

SEO analysis (title, meta, headings, images)

Social (5 tools)

Tool

Description

social_generate_tweet

Generate high-engagement tweets (5 styles)

social_thread_builder

Build Twitter/X thread structure (3-10 tweets)

social_content_calendar

7-day content calendar for any platform

social_hashtag_research

Hashtag research with platform-specific tips

social_engagement_analyzer

Engagement rate analysis with recommendations

Finance (5 tools)

Tool

Description

finance_stock_price

Real-time stock prices (Yahoo Finance)

finance_forex_rate

Currency exchange rates (150+ currencies)

finance_portfolio_tracker

Portfolio allocation calculator

finance_expense_log

Formatted expense entries for tracking

finance_invoice_generator

Professional invoice generation (markdown)

Productivity (5 tools)

Tool

Description

productivity_pomodoro

Pomodoro timer session planner

productivity_task_breakdown

Break complex tasks into sub-tasks

productivity_note

Structured note-taking with tags

productivity_calendar_event

iCal event generator

productivity_reminder

Priority-based reminder system

Why claw-mcp-toolkit?

  • Zero API keys for core functionality (uses public APIs)

  • Zero config - just npx and go

  • 26 real tools that agents actually need

  • 5 modules covering the most common agent tasks

  • Lightweight - minimal dependencies

  • TypeScript - full type safety

  • MIT License - use it anywhere

Architecture

claw-mcp-toolkit/
  src/
    index.ts              # Entry point
    modules/
      crypto.ts           # 6 tools (CoinGecko, Fear & Greed)
      web.ts              # 5 tools (fetch, DNS, SSL, SEO)
      social.ts           # 5 tools (tweets, threads, calendar)
      finance.ts          # 5 tools (stocks, forex, invoices)
      productivity.ts     # 5 tools (pomodoro, tasks, notes)
    utils/
      fetch.ts            # HTTP helper with timeout
      format.ts           # Currency, number, table formatters

Development

git clone https://github.com/ElromEvedElElyon/claw-mcp-toolkit.git
cd claw-mcp-toolkit
npm install
npm run dev    # Run with tsx (hot reload)
npm run build  # Build to dist/
npm start      # Run built version

Comparison

Feature

claw-mcp-toolkit

Single-purpose MCPs

Tools

26

1-5 each

Install

1 command

Multiple installs

API Keys

None required

Often required

Modules

5 integrated

Separate repos

Config

Zero

Per-server

Built With

  • @modelcontextprotocol/sdk - Official MCP TypeScript SDK

  • Zod - TypeScript schema validation

  • Free public APIs (CoinGecko, Google DNS, Yahoo Finance, Exchange Rate API)

Contributing

PRs welcome! To add a new tool:

  1. Pick the right module (crypto, web, social, finance, productivity)

  2. Add your tool function with Zod schema

  3. Register it in the module's register*Tools function

  4. Update this README

  5. Submit PR

License

MIT - Padrao Bitcoin (CNPJ 51.148.891/0001-69)

Built by @opencllaw with Claude Code

Available Tools

29 tools
buy_stbtcxA

Buy STBTCx memecoin on Solana — get purchase links and instructions

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoAmount in USD
walletNoYour Solana wallet address (optional)

TDQS

A4/5.0
Behavior4/5

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

Crucially clarifies that tool returns 'purchase links and instructions' rather than executing blockchain transactions, which tempers the 'buy' verb in the name. With zero annotations, description carries full burden; missing rate limits or auth details, but discloses the non-execution nature which is the critical behavioral trait.

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?

Single sentence, zero waste. Front-loaded action ('Buy'), specific asset identification, and return value clarification ('get purchase links') all packed efficiently.

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

Completeness4/5

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

Appropriate for a simple 2-parameter tool without output schema. Mentions conceptual return value (links/instructions), compensating somewhat for missing formal output schema. Adequate for agent to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100% (both 'amount' and 'wallet' fully documented). Description adds no parameter-specific guidance beyond schema baseline, which warrants a 3 per rubric when schema coverage is high.

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?

Excellent: Specifies verb ('Buy'), exact resource ('STBTCx memecoin'), platform ('Solana'), and mechanism ('get purchase links'). Clearly distinguishes from sibling 'stbtcx_price' (which would check prices) and generic 'crypto_price' tools.

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?

Implied usage via 'Buy... get purchase links' suggests use when seeking purchase guidance, but lacks explicit when-to-use versus price-checking alternatives or prerequisites (e.g., needing a Solana wallet).

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

crypto_fear_greedB

Get the current Crypto Fear & Greed Index

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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. While 'Get' implies read-only access, the description lacks specifics on what the index measures (sentiment), its numeric scale (0-100), data source, update frequency, or caching 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 single sentence is appropriately sized for a zero-parameter tool, front-loaded with the action verb, and contains no redundant or wasted words.

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?

While adequate for a simple retrieval tool with no parameters, the description lacks context about what the Fear & Greed Index represents (extreme fear to extreme greed sentiment scale) that would help an agent interpret results without an output schema or annotations.

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 contains zero parameters, triggering the baseline score of 4. The description correctly implies no arguments are needed by referring to 'the current' index as a singular global value, requiring no further qualification.

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 uses a specific verb ('Get') and identifies the exact resource ('Crypto Fear & Greed Index'), making the purpose clear. However, it does not explicitly differentiate from sibling tools like 'crypto_market_overview' that might provide similar sentiment 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?

No guidance provided on when to use this tool versus alternatives like 'crypto_market_overview' or 'crypto_trending', nor are there any stated prerequisites or constraints for the zero-parameter call.

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

crypto_market_overviewA

Get global crypto market overview (total market cap, BTC dominance, active coins)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses what data is returned (market cap, dominance, active coins) but omits operational details like data freshness, caching behavior, or rate limits that would help an agent understand reliability and constraints.

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?

Single sentence with front-loaded verb and parenthetical elaboration. Zero waste: every word serves to identify the action, scope, and return specifics. Appropriate length for a parameterless tool.

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

Completeness4/5

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

For a zero-parameter tool without output schema, the parenthetical list of returned metrics provides essential completeness. Would benefit from mentioning data source or freshness, but adequately covers the tool's function given its simplicity.

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?

Input schema has zero parameters (empty object) with 100% coverage trivially satisfied. With no parameters to document, the baseline score of 4 applies. The description appropriately focuses on return values rather than inventing parameter documentation.

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

Purpose5/5

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

The description uses specific verb 'Get' with clear resource 'global crypto market overview' and distinguishes from price-specific siblings (crypto_price, crypto_price_history) by listing aggregate metrics (total market cap, BTC dominance, active coins) that clearly signal this is for broad market analysis, not individual coins.

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?

Provides implied usage guidance through the specific aggregate metrics listed (suggesting use when needing market-wide stats), but lacks explicit when-to-use statements or comparisons to siblings like crypto_price or crypto_trending for specific coin data.

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

crypto_priceB

Get current price, market cap, and 24h change for any cryptocurrency

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesCoin ID (e.g. bitcoin, ethereum, solana)

TDQS

B3.3/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 partially compensates by disclosing the return data structure (price, market cap, 24h change), but omits critical behavioral details like data freshness, 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?

Single sentence that efficiently packs the tool's purpose, scope, and return value information without redundancy. Every word earns its place.

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?

Lacking annotations and output schema, the description partially compensates by specifying the three data points returned. However, for financial data, omitting information about real-time vs cached data or data sources leaves meaningful gaps.

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

Parameters3/5

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

Schema coverage is 100% with the 'coin' parameter well-documented in the schema itself. The description implies the parameter usage ('for any cryptocurrency') but adds minimal semantic detail beyond the schema, meeting the baseline for high-coverage schemas.

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?

Clearly states the specific data retrieved (current price, market cap, 24h change) and the target resource (any cryptocurrency). The specificity of 'current' and the three metrics distinguishes it implicitly from siblings like crypto_price_history and crypto_market_overview, though it does not explicitly name them.

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?

Provides no guidance on when to use this tool versus alternatives such as crypto_price_history or stbtcx_price, nor does it mention prerequisites like valid coin IDs or rate limits.

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

crypto_price_historyC

Get price history for a coin over a number of days

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesCoin ID (e.g. bitcoin)
daysNoNumber of days (1, 7, 30, 90, 365)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must carry full behavioral burden. It fails to disclose data source, return format (candles vs. closing prices), time granularity, or error behavior for invalid coin IDs. Only states what is retrieved, not how the tool behaves.

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?

Single sentence of nine words with no redundancy. Main action front-loaded. Efficient but arguably undersized given lack of output schema and behavioral details that should have been included.

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?

No output schema exists, yet description fails to document return values (price array format, timestamp structure, OHLCV vs. close-only). For a data retrieval tool with no output specification, this is a significant gap.

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

Parameters3/5

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

Schema coverage is 100% with both 'coin' and 'days' well-documented in the schema (including valid examples for days). Since schema carries full semantic load, baseline 3 is appropriate. Description adds no parameter syntax beyond 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 uses specific verb 'Get' with clear resource 'price history' and scope 'for a coin over a number of days'. However, it does not explicitly distinguish from sibling 'crypto_price' (current vs. historical data), so it lacks sibling differentiation that would earn a 5.

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?

Provides no guidance on when to use this tool versus alternatives like 'crypto_price' or 'crypto_market_overview'. No mention of prerequisites, rate limits, or data granularity requirements.

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

finance_expense_logC

Create a formatted expense entry for tracking

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesExpense description
amountYesExpense amount
currencyNoCurrencyUSD
categoryNoother

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full disclosure burden but only states 'Create' without clarifying side effects (persistent storage vs temporary formatting), idempotency, or what the return value contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

Single sentence is appropriately concise, but 'formatted' and 'for tracking' create ambiguity without adding specific operational clarity. Structure is adequate but content under-delivers.

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?

For a mutation-implied tool with no annotations and no output schema, description inadequately explains data persistence, storage location, or success/failure indicators. Should disclose what happens to the created entry.

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

Parameters3/5

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

Schema coverage is 75% (3/4 params described), which meets baseline. Description adds minimal semantic value beyond schema—doesn't explain currency defaults, category implications, or that amount expects positive values.

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

Purpose3/5

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

States basic action (Create) and resource (expense entry), but is ambiguous about scope (local formatting vs persistent storage) and fails to differentiate from sibling finance_invoice_generator or clarify relationship to finance_portfolio_tracker.

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?

Provides no guidance on when to use this tool versus alternatives like finance_invoice_generator for business expenses, nor prerequisites like whether it integrates with portfolio tracking or requires specific setup.

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

finance_forex_rateC

Get current exchange rate between two currencies

ParametersJSON Schema
NameRequiredDescriptionDefault
fromNoSource currency codeUSD
toNoTarget currency codeBRL
amountNoAmount to convert

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 states 'current' but provides no context on data freshness (real-time vs daily fix), rate type (bid/ask/mid), supported currency pairs, or error handling for invalid codes. This leaves significant behavioral gaps.

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 extremely concise at 7 words with no redundancy. Every word serves a purpose. However, given the lack of annotations and output schema, the brevity slightly undermines contextual completeness—one additional sentence on behavior or return values would improve utility without sacrificing clarity.

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?

With no output schema and no annotations, the description should disclose what the tool returns (exchange rate value? converted amount? timestamp?). It also fails to clarify that the tool supports amount conversion (implied by the 'amount' parameter) rather than just rate lookup, leaving functional ambiguity.

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%, establishing a baseline of 3. The description mentions 'between two currencies' which aligns with the 'from' and 'to' parameters, but it fails to acknowledge the 'amount' parameter's role in conversion versus simple rate retrieval, adding minimal semantic value beyond the schema itself.

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 uses a specific verb ('Get') and clearly identifies the resource ('exchange rate between two currencies'). It implicitly distinguishes from crypto-focused siblings (crypto_price, stbtcx_price) by using 'currencies' instead of 'crypto', though explicit differentiation would strengthen it further.

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 guidance provided on when to use this versus sibling tools like finance_stock_price or crypto_price. No mention of prerequisites, such as needing valid ISO currency codes, or when this data source is preferable to others.

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

finance_invoice_generatorC

Generate a simple invoice in markdown format

ParametersJSON Schema
NameRequiredDescriptionDefault
client_nameYesClient/company name
itemsYesComma-separated: 'MCP Server Dev:500,Consulting:200'
currencyNoUSD

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It mentions 'markdown format' but fails to disclose side effects (file saved vs string returned), idempotency, or what the actual output structure contains.

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?

Extremely brief (7 words), efficient with no redundancy. However, it may be overly compressed given the tool's behavioral complexity and lack of output schema.

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?

Lacks output schema and provides no description of return values (file path? markdown string?). Also omits guidance on the specific items syntax, leaving critical usage information only in the schema example.

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

Parameters2/5

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

Schema coverage is 67% (currency lacks description). The description adds no parameter details, failing to compensate for the missing currency documentation or elaborate on the specific 'Item:Amount' syntax required for the items parameter beyond the schema example.

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?

Clear verb ('Generate'), resource ('invoice'), and output format ('markdown'). However, it does not distinguish from sibling finance_expense_log or clarify this is for billing clients versus tracking expenses.

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?

Provides no guidance on when to use this tool versus alternatives, prerequisites (e.g., needing client details), or when not to use it (e.g., for complex invoices requiring legal terms).

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

finance_portfolio_trackerC

Calculate portfolio value and allocation from a list of holdings

ParametersJSON Schema
NameRequiredDescriptionDefault
holdingsYesComma-separated holdings: 'BTC:0.5,ETH:10,SOL:100' or 'AAPL:50,MSFT:30'

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. States 'Calculate' implying read-only computation, but omits critical behavioral details: data source/freshness, supported asset types (crypto vs stocks), error handling for invalid symbols, and output format (especially important since no output schema exists).

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?

Single sentence, front-loaded with verb, no wasted words. However, minimal length means it fails to convey necessary behavioral context that would require additional structured detail.

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?

Without output schema or annotations, description should specify return format (total value, allocation percentages, currency). Also missing scope (supports both crypto tickers like BTC and stock tickers like AAPL as shown in schema, but not mentioned in description).

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

Parameters3/5

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

Schema coverage is 100% with detailed examples ('BTC:0.5,ETH:10'). Description mentions 'list of holdings' but adds no semantic detail beyond what the schema already provides. Baseline 3 appropriate for high schema coverage.

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?

Clear verb ('Calculate') and resource ('portfolio value and allocation'), with 'from a list of holdings' distinguishing it from single-asset siblings like crypto_price and finance_stock_price. However, it doesn't explicitly contrast when to use this versus aggregating single-price lookups manually.

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 when-to-use guidance or alternatives mentioned. Doesn't indicate whether this is preferred over multiple calls to crypto_price for aggregate calculations, or if it requires specific formatting (though schema covers this).

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

finance_stock_priceC

Get current stock price from public API

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol (e.g. AAPL, MSFT, GOOGL)

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 disclosure burden. It mentions 'public API' hinting at external dependencies, but fails to specify rate limits, data delay (real-time vs 15-min), caching behavior, or error handling for invalid symbols.

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?

Single sentence, front-loaded with action and target. No waste, though arguably too minimal given the lack of behavioral and usage context that would be helpful for agent selection.

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?

Adequate for a simple single-parameter read operation, but lacks description of return values (price format, currency, timestamp) and behavioral constraints given the 'public API' dependency.

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

Parameters3/5

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

Schema coverage is 100% with the symbol parameter fully documented (including examples). The description adds no additional parameter context, but baseline 3 is appropriate since the schema already comprehensively documents the single required parameter.

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 states a clear verb ('Get') and resource ('current stock price'). It implicitly distinguishes from crypto/forex siblings by specifying 'stock', but does not explicitly compare against sibling tools like crypto_price or stbtcx_price.

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 guidance provided on when to use this versus sibling tools like crypto_price, finance_forex_rate, or stbtcx_price. No prerequisites or conditions mentioned.

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

list_productsB

List all Padrao Bitcoin products available for purchase

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/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 establishes the domain context ('Padrao Bitcoin'), but fails to disclose return format, pagination behavior, or whether the listing is real-time versus cached. The behavioral traits remain largely unspecified.

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 single sentence is appropriately front-loaded with the action verb and contains no redundant words. Every element—'List', 'all', 'Padrao Bitcoin products', 'available for purchase'—serves a distinct semantic purpose without waste.

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 simplicity (zero parameters) and lack of output schema, the description provides sufficient context to identify the tool's role in the ecosystem. However, it omits what 'Padrao Bitcoin' specifically refers to and gives no indication of the return data structure.

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?

With zero parameters in the input schema, this receives the baseline score of 4 as per evaluation guidelines. The description correctly implies no filtering capabilities are available by specifying 'all' products.

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 provides a specific verb ('List'), resource ('Padrao Bitcoin products'), and scope ('all', 'available for purchase'). It clearly identifies this as a catalog browsing tool, though it could explicitly differentiate from the sibling buy_stbtcx tool.

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?

While the phrase 'available for purchase' implies this is for pre-purchase browsing, there is no explicit guidance on when to use this versus buy_stbtcx or other crypto/finance siblings. No prerequisites or workflow context is provided.

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

productivity_calendar_eventC

Generate a calendar event in iCal format

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesEvent title
dateYesDate (YYYY-MM-DD)
timeNoTime (HH:MM)09:00
duration_minutesNoDuration in minutes
descriptionNoEvent description

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. While it specifies the output format ('iCal format'), it fails to clarify whether this returns a string, creates a file, requires specific permissions, or has side effects on external calendar systems.

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?

Extremely concise single sentence with no wasted words. Each component earns its place: action (Generate), resource (calendar event), and format (iCal). However, the brevity comes at the cost of completeness given the lack of annotations.

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?

Simple tool with 5 well-documented parameters and no nested objects. The description adequately covers the core function but lacks critical output details (what 'generate' returns) and safety information, which should be present given the absence of output schema and annotations.

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

Parameters3/5

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

Schema has 100% description coverage (all 5 parameters documented), establishing a baseline of 3. The description provides iCal context but does not add parameter-specific semantics (e.g., time format details, default behavior) beyond what the schema already states.

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?

Clear verb ('Generate') and resource ('calendar event') with specific output format ('iCal'). Distinguishes from siblings like 'productivity_note' and 'social_content_calendar' by specifying the iCal format, though differentiation from 'productivity_reminder' is implicit rather than explicit.

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 guidance provided on when to use this tool versus alternatives like 'productivity_reminder' or 'productivity_task_breakdown'. No mention of prerequisites or when generation is preferred over other productivity tools.

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

productivity_noteC

Create a structured note with timestamp

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesNote title
contentYesNote content
tagsNoComma-separated tags

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 mentions that a timestamp is included (useful context), but fails to disclose where the note is persisted, whether the operation is idempotent, what format the timestamp uses, or what the tool returns upon creation.

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 extremely brief at six words with zero redundancy and clear front-loading. However, given the lack of annotations and output schema, this brevity leaves critical behavioral gaps, suggesting it is slightly under-sized for the tool's complexity.

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?

Despite low parameter complexity, the absence of an output schema and annotations means the description should indicate what happens to the created note (e.g., returned in response, stored to a file, appended to a database). It currently provides no indication of the operation's result or side effects beyond the input transformation.

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?

With 100% schema description coverage (title, content, tags all documented), the schema does the heavy lifting. The description adds no specific parameter guidance beyond implying the general structure, warranting the baseline score.

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 uses the specific verb 'Create' and identifies the resource as a 'structured note with timestamp,' which distinguishes it from sibling productivity tools like 'productivity_reminder' or 'productivity_calendar_event.' However, it could explicitly clarify when to choose this over 'productivity_task_breakdown' for capturing information.

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 (e.g., when to create a note versus a task breakdown or reminder) and lists no prerequisites or constraints.

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

productivity_pomodoroB

Start a Pomodoro timer session plan (25min work / 5min break)

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask to focus on
sessionsNoNumber of Pomodoro sessions (1-8)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, description carries full burden. Adds valuable timing specificity (25min work / 5min break) that explains the Pomodoro structure. However, lacks disclosure on side effects: does it schedule calendar blocks, set system timers, or require polling? No mention of notifications, pausability, or completion 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?

Single sentence efficiently combines action, technique, and timing parameters. No filler words; parenthetical timing specification is high-information density. Appropriately front-loaded.

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?

Minimal but adequate for a focused 2-parameter tool. Missing execution context (notifications, backgrounding, cancellation) given lack of output schema or annotations, though the core Pomodoro mechanic is explained.

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

Parameters3/5

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

Schema coverage is 100% with complete descriptions for both 'task' and 'sessions' parameters. Description provides baseline adequacy without adding redundant parameter details, meeting the standard for high-coverage schemas.

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?

States specific action (Start) and resource (Pomodoro timer session), including the classic 25min/5min timing structure. Effectively distinguishes from sibling productivity tools like calendar_event, note, and reminder by specifying the Pomodoro technique.

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 guidance on when to select this versus productivity_task_breakdown (which also handles task chunking) or when multiple short sessions are preferable to calendar blocking. No mention of prerequisites or constraints.

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

productivity_reminderC

Create a reminder with priority level

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesWhat to remember
due_dateNoDue date (YYYY-MM-DD or 'today', 'tomorrow')today
priorityNomedium

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, yet the description discloses no behavioral traits: it doesn't explain what happens when the reminder triggers, notification delivery methods, persistence/storage, or the behavioral difference between priority levels (critical vs low).

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?

Extremely brief at six words, with no redundant phrases. However, breverty sacrifices necessary context given the lack of annotations and sibling differentiation. Front-loaded but insufficiently informative for the complexity.

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?

Incomplete for a 3-parameter creation tool with no annotations and no output schema. Fails to explain default values (today, medium), priority semantics, or return behavior. Sibling overlap makes the omission of differentiation guidance particularly costly.

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?

With 67% schema coverage (task and due_date described, priority not described), the baseline is 3. The description mentions 'priority level' which loosely maps to the priority parameter, but adds no syntax details, format constraints, or semantic meaning beyond the schema's enum values.

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?

States a clear action (Create) and resource (reminder) with a specific feature (priority level). However, it fails to distinguish from siblings like productivity_calendar_event or productivity_note that also create time-bound productivity entries.

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?

Provides no guidance on when to use this tool versus productivity_calendar_event, productivity_note, or productivity_task_breakdown. No mention of prerequisites or trigger behavior.

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

productivity_task_breakdownB

Break a complex task into actionable sub-tasks with time estimates

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesThe main task to break down
complexityNomedium

TDQS

B3.2/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 of behavioral disclosure. It mentions 'time estimates' as an output characteristic, which is helpful, but fails to clarify whether results are persisted, returned temporarily, or if there are limits on task complexity/length.

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 single-sentence description is efficiently structured and front-loaded with the action. However, given the lack of annotations and output schema, the extreme brevity leaves critical gaps; every word earns its place, but the sentence count is insufficient for complete transparency.

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?

For a 2-parameter tool without annotations or output schema, the description adequately covers the core transformation (task → sub-tasks) but omits operational context. It should clarify output destination (returned vs. saved) and how the 'complexity' parameter influences the breakdown behavior.

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

Parameters3/5

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

Schema coverage is 50%—the 'task' parameter is well-described in the schema, but 'complexity' lacks semantic description beyond enum values. The description does not compensate by explaining what the complexity parameter affects (e.g., granularity or number of sub-tasks), settling at the baseline for partial schema coverage.

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 provides a clear verb ('Break') and specific resources (complex task → actionable sub-tasks), making the core function unambiguous. However, it does not explicitly differentiate from sibling productivity tools like 'productivity_note' or 'productivity_reminder' within the text itself.

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 offers no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions. With distinct siblings like 'productivity_calendar_event' and 'productivity_pomodoro', the absence of contextual guidance for task planning workflows 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.

social_content_calendarB

Generate a 7-day content calendar for social media

ParametersJSON Schema
NameRequiredDescriptionDefault
nicheYesYour niche (e.g. 'AI agents', 'crypto', 'SaaS')
platformNoPlatformtwitter

TDQS

B3.1/5.0
Behavior2/5

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

Zero annotations provided, and description discloses no behavioral traits: it doesn't state whether this creates persistent records, returns a structured plan vs just ideas, requires authentication, or has side effects like API rate limit consumption.

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?

Single sentence, eight words, zero redundancy. Front-loaded action verb with specific qualifiers that earn their place. Perfect information density.

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?

Generating a multi-day content calendar is a complex operation with structured output. No output schema exists, and the description fails to compensate by describing the calendar format, structure, or what specific elements (post ideas, timing, hashtags) are returned.

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?

Schema has 100% coverage with basic descriptions, but the tool description adds crucial semantic context not in schema: the '7-day' temporal scope constraint. This informs the agent about the volume of content being generated beyond what the schema parameters suggest.

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?

Specific verb 'Generate' and resource '7-day content calendar' clearly define scope. The temporal scope ('7-day') distinguishes this from sibling tools like social_generate_tweet (single posts) and social_thread_builder (immediate threads), though it could explicitly contrast with these.

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 guidance on when to select this versus siblings like social_generate_tweet, social_thread_builder, or social_hashtag_research. Missing conditions like 'use when planning a week ahead vs posting immediately'.

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

social_engagement_analyzerC

Analyze engagement patterns for optimal posting strategy

ParametersJSON Schema
NameRequiredDescriptionDefault
followersNoYour follower count
avg_likesNoAverage likes per post
avg_repliesNoAverage replies per post

TDQS

C2.5/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 transparency burden but fails to disclose key behavioral traits. It doesn't clarify that this tool requires manually provided statistics (followers, avg_likes) rather than fetching historical data, doesn't describe the output format (recommendations vs. raw metrics), and omits safety/read-only status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

While the single-sentence structure avoids verbosity, the description suffers from under-specification that limits its utility. Every sentence should earn its place by conveying specific actionable information; this description is too vague to fully justify its inclusion without additional context from other fields.

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 presence of three related sibling tools ('social_content_calendar', 'social_generate_tweet', 'social_hashtag_research') and a 100%-documented but parameter-heavy schema with no output schema, the description should explain the tool's specific role in the workflow and what analysis it produces. It currently lacks this contextual 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%, establishing a baseline score of 3. The description adds no specific guidance on parameter semantics, expected data formats, or contextual meaning beyond what the schema already provides (e.g., 'Your follower count'). The baseline applies since the schema fully documents the three optional parameters.

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

Purpose3/5

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

The description provides a general verb ('Analyze') and resource ('engagement patterns') but remains vague about the analysis method and scope. It implies the output is strategic recommendations ('optimal posting strategy'), but doesn't clearly distinguish from sibling tools like 'social_hashtag_research' or 'social_content_calendar' in terms of when to use which analytical tool.

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 alternative methods or sibling tools. It does not mention prerequisites (e.g., needing engagement statistics ready) or exclusion criteria (e.g., not suitable for real-time data).

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

social_generate_tweetA

Generate a high-engagement tweet in tech/crypto voice (no emojis, no hashtags)

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic for the tweet
styleNoTweet styledata-driven

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Successfully discloses output voice/style constraints and content restrictions. However, fails to clarify critical behavioral ambiguity: whether the tool merely returns text for review or automatically posts to Twitter/X. Also omits rate limits or length constraints.

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?

Single sentence, front-loaded with action verb. Every clause earns its place: 'high-engagement' sets expectation, 'tech/crypto voice' defines tone, and parenthetical constraints prevent misuse. Zero redundancy or wasted words.

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?

With no output schema, description should indicate return format (string text? JSON object?), but omits this. Adequately covers generation logic and voice constraints for a 2-parameter tool, but missing output behavior leaves agents uncertain about how to handle results.

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

Parameters3/5

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

Schema coverage is 100% (both 'topic' and 'style' well-documented), establishing baseline 3. Description adds context that 'style' maps to 'tech/crypto voice' and implies topic should fit that domain, but does not elaborate on parameter syntax, format examples, or enum value meanings beyond schema definitions.

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?

Specific verb 'Generate', resource 'tweet', and clear scope 'tech/crypto voice'. Effectively distinguishes from siblings: contrasts with social_thread_builder (single vs thread), social_hashtag_research (no hashtags vs hashtag research), and social_content_calendar (generation vs scheduling).

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?

Provides implicit usage guidance through voice constraints ('tech/crypto voice') and format restrictions ('no emojis, no hashtags'), which signal when NOT to use it. However, lacks explicit 'when to use' guidance or named alternatives versus social_thread_builder or other content tools.

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

social_hashtag_researchC

Research trending hashtags for a topic (uses public data)

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic to research hashtags for

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It mentions 'uses public data' (indicating no authentication barrier) but fails to describe output format, data freshness, rate limits, or what 'research' entails (e.g., top 10 hashtags vs. comprehensive analysis).

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?

Single sentence of nine words with action front-loaded. The parenthetical '(uses public data)' slightly disrupts flow but provides value. No redundant or filler content present.

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 output schema and no annotations, the description should indicate return value structure (array of hashtags? metadata?). It fails to complete the behavioral picture for an external data-dependent 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 coverage is 100% with the single 'topic' parameter fully described. The description adds minimal semantic context ('for a topic') but aligns with the schema. Baseline score appropriate since schema carries the documentation burden 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 states a clear verb ('Research') and resource ('trending hashtags') with scope ('for a topic'), distinguishing it from sibling tools like social_generate_tweet and social_thread_builder. However, 'Research' remains somewhat vague regarding whether it returns rankings, volume metrics, or simply lists.

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 guidance provided on when to use this tool versus alternatives (e.g., when to research hashtags before using social_generate_tweet), or prerequisites for the topic parameter. The parenthetical '(uses public data)' hints at data source but doesn't inform selection logic.

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

social_thread_builderC

Build a Twitter/X thread structure from a topic

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesMain topic
pointsNoNumber of thread tweets (3-10)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and no output schema provided, the description carries the full burden of behavioral disclosure but fails to clarify whether the tool actually posts to Twitter/X or merely generates content for manual posting. It also does not describe the return format, rate limits, or required authentication scope.

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 single sentence is front-loaded with the verb and contains no redundant words. However, extreme brevity comes at the cost of omitting critical behavioral context that would normally be expected given the lack of annotations and output schema.

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?

Despite low parameter complexity (2 simple params), the absence of annotations, output schema, and critical behavioral context (read vs. write operations) leaves significant gaps. For a social media tool, failing to clarify whether it publishes content or merely generates it is a material omission.

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% ('Main topic' and 'Number of thread tweets'), so the baseline score applies. The description neither repeats nor enhances the parameter documentation, but the schema is self-sufficient for understanding the 'topic' and 'points' parameters.

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 uses a specific verb ('Build') and identifies the resource ('Twitter/X thread structure'), clearly positioning it as a thread generation tool. It implicitly distinguishes from sibling 'social_generate_tweet' by specifying 'thread' versus a single tweet, though 'structure' remains slightly ambiguous regarding whether it produces full content or an outline.

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 like 'social_generate_tweet' (single tweets) or 'social_content_calendar' (scheduling). It omits prerequisites, content constraints, or workflow integration hints entirely.

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

stbtcx_priceB

Get current STBTCx token price and market info

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, yet description carries minimal burden. 'Current' implies real-time but doesn't confirm data source, freshness guarantees, or what 'market info' encompasses (volume, market cap, 24h change?). No mention of authentication requirements or error behaviors.

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?

Single sentence with no wasted words. However, extreme brevity is inappropriate given complete absence of annotations and output schema; description should be longer to compensate for missing structured metadata.

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?

With zero parameters and no annotations/output schema, the description should hint at return value structure or elaborate on 'market info' contents. As written, it provides minimal viable context for a simple lookup tool but leaves significant gaps regarding expected data payload.

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?

Zero parameters present; scores baseline 4 per rubric. Schema coverage is vacuously 100% with no properties to describe.

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?

Clear verb 'Get' and specific resource 'STBTCx token price and market info' identifies the exact token, distinguishing it from sibling tool 'crypto_price' which appears generic. However, it assumes familiarity with STBTCx rather than briefly clarifying what this token represents.

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 guidance on when to use this versus 'crypto_price' (generic) or 'buy_stbtcx' (transaction). No mention of prerequisites, rate limits, or typical workflow (e.g., checking price before buying).

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

web_dns_lookupC

Look up DNS records for a domain

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name (e.g. google.com)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full disclosure burden. Fails to specify which record types are queried (A, MX, TXT, NS, etc.), timeout behavior, NXDOMAIN handling, or return format. Only confirms it's a read operation through the verb 'Look up'.

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?

Extremely terse at 6 words. No redundant content, appropriately front-loaded. However, excessive concision leaves gaps regarding return values and record types; one additional clause would improve utility without sacrificing clarity.

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?

Adequate for a single-parameter tool with complete schema coverage. However, given no output schema exists, the description should indicate what record types or format are returned (JSON, raw, specific records). Leaves functional gaps despite structural simplicity.

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

Parameters3/5

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

Schema coverage is 100% with the 'domain' parameter fully documented (type, description, example). Description adds no parameter semantics beyond the schema, which is acceptable given complete schema coverage. Baseline 3 applies.

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?

States specific verb 'Look up' and resource 'DNS records for a domain'. Functionally distinguishes itself from siblings like web_fetch (general HTTP) and web_ssl_check (SSL-specific) through specificity, though does not explicitly name 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?

Provides no guidance on when to use this tool versus alternatives like web_fetch or web_ssl_check. No mention of prerequisites (e.g., valid domain format) or conditions for preferring this over other web tools.

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

web_fetchB

Fetch a URL and return its content as text (HTML stripped to readable text)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to fetch

TDQS

B3.3/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 disclosure burden. It successfully reveals the HTML-to-text transformation behavior, but omits operational details such as error handling (404s, timeouts), rate limits, content size restrictions, or idempotency characteristics that would aid agent decision-making.

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?

Perfectly concise at 12 words in a single sentence. It front-loads the action ('Fetch') and immediately clarifies the return format, with no redundant or wasted phrases.

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?

For a simple single-parameter tool without output schema or annotations, the description adequately covers the core behavior. However, it lacks completeness regarding failure modes (unreachable URLs, non-HTML content) and size constraints that would be necessary for robust agent operation.

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?

With 100% schema description coverage for the single 'url' parameter, the baseline score is 3. The description does not add semantic constraints beyond the schema (e.g., 'publicly accessible', 'HTTP/HTTPS only', 'must return HTML'), so it meets but does not exceed the baseline.

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 uses specific verb 'Fetch' with resource 'URL' and clarifies the output transformation ('HTML stripped to readable text'). It implicitly distinguishes from siblings like web_extract_links (links only) and web_dns_lookup (DNS records) by emphasizing full content retrieval, though it could explicitly name these distinctions.

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. Given the presence of web_extract_links as a sibling, explicit guidance distinguishing 'full text content' vs 'hyperlink extraction' would be necessary for a higher score.

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

web_seo_checkB

Basic SEO analysis of a webpage (title, meta, headings, images)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to analyze

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, yet description fails to disclose safety profile (read-only vs destructive), whether it follows redirects, rate limiting, or response format. Only lists analyzed elements without explaining what 'analysis' entails.

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?

Single efficient sentence with zero waste. Front-loaded with verb and scope. Parenthetical list appropriately specifies coverage without verbosity.

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?

Adequate for a single-parameter tool. Lists analyzed elements which hints at output structure, but lacks output format detail or auth requirements given no output schema exists. Minimum viable 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 has 100% description coverage ('URL to analyze'), so baseline applies. Description adds no additional param context (examples, format constraints, validation rules) beyond what's in the 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?

Clear specific verb ('analysis') and resource ('webpage') with explicit scope listing what elements are checked (title, meta, headings, images). Distinguishes from sibling 'web_fetch' by specifying SEO-focused analysis versus general content retrieval.

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?

Provides no guidance on when to select this versus alternatives like 'web_fetch' or 'web_extract_links'. No mention of prerequisites (e.g., public URLs only) or when NOT to use.

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

web_ssl_checkB

Check SSL certificate details for a domain

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name (e.g. github.com)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. 'Check' implies read-only access but fails to disclose if this makes live HTTPS connections, what specific details are retrieved (expiry, issuer, chain validity), or behavior on invalid/missing certificates.

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?

Single sentence, front-loaded with action verb, no waste. Appropriate length for tool simplicity.

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?

Adequate for basic 1-parameter tool, but gap remains: no output schema exists, yet description fails to hint at return structure (fields like expiry_date, issuer, valid boolean) or error conditions.

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 has 100% coverage with good example 'github.com'. Description adds no parameter-specific context, but baseline is 3 when schema carries full documentation load for simple single-parameter tool.

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?

States clear verb 'Check' and resource 'SSL certificate details' with scope 'for a domain'. Distinguishes from sibling web tools (dns_lookup, seo_check, fetch) by specifying SSL/certificate focus, though does not explicitly contrast with them.

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?

Provides no guidance on when to use versus alternatives like web_fetch (which retrieves page content) or web_dns_lookup (which checks DNS records). No mention of prerequisites or network requirements.

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. Dates show when Glama detected each change.

  1. 29 tool updatesv1.0.0
    • First observedbuy_stbtcx
    • First observedcrypto_fear_greed
    • First observedcrypto_market_overview
    • First observedcrypto_price
    • First observedcrypto_price_history
    • First observedcrypto_search
    • First observedcrypto_trending
    • First observedfinance_expense_log
    • First observedfinance_forex_rate
    • First observedfinance_invoice_generator
    • First observedfinance_portfolio_tracker
    • First observedfinance_stock_price
    • First observedlist_products
    • First observedproductivity_calendar_event
    • First observedproductivity_note
    • First observedproductivity_pomodoro
    • First observedproductivity_reminder
    • First observedproductivity_task_breakdown
    • First observedsocial_content_calendar
    • First observedsocial_engagement_analyzer
    • First observedsocial_generate_tweet
    • First observedsocial_hashtag_research
    • First observedsocial_thread_builder
    • First observedstbtcx_price
    • First observedweb_dns_lookup
    • First observedweb_extract_links
    • First observedweb_fetch
    • First observedweb_seo_check
    • First observedweb_ssl_check

TDQS

B3.1/5.0
Disambiguation3/5

Tools are grouped into clear categories (crypto, finance, productivity, social, web), which helps with disambiguation, but there is some overlap within categories. For example, crypto_price and crypto_price_history both provide price data, and social_generate_tweet and social_thread_builder both involve content creation, which could cause confusion in selection.

Naming Consistency4/5

Most tools follow a consistent snake_case pattern with descriptive names (e.g., crypto_fear_greed, finance_expense_log, productivity_calendar_event). However, there are minor deviations like list_products (which doesn't follow the category_prefix pattern) and stbtcx_price (which uses a token-specific prefix instead of a general category), slightly reducing consistency.

Tool Count3/5

With 29 tools, the count is borderline high for a toolkit server, as it spans multiple domains (crypto, finance, productivity, social, web). While each domain might justify its own set, the overall scope feels heavy and could overwhelm agents, though not extreme enough to be severely mismatched.

Completeness4/5

The tool set covers a wide range of domains with reasonable completeness within each. For example, crypto tools include price, search, and market data; finance tools cover expenses, forex, and portfolio tracking. Minor gaps exist, such as no update or delete operations for productivity tools, but agents can work around these for most use cases.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElromEvedElElyon/claw-mcp-toolkit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server