Skip to main content
Glama
BACH-AI-Tools

WhatsApp OSINT MCP Server

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have distinct purposes focused on different aspects of WhatsApp OSINT (profile picture, business info, device count, registration status, privacy settings, and status info). However, there is some potential overlap between 'base64_encoded_profile' and 'fetch_osint_info' since both provide profile picture information, which could cause minor confusion.

    Naming Consistency3/5

    The naming is mixed with some tools using snake_case (e.g., 'base64_encoded_profile', 'fetch_osint_info') and others using simpler forms (e.g., 'devices', 'status'). While readable, there's inconsistency in verb usage and structure, such as 'business_insights' versus 'privacy_settings'.

    Tool Count5/5

    With 6 tools, the count is well-scoped for an OSINT server focused on WhatsApp. Each tool appears to serve a specific function in gathering intelligence, making the set manageable and purposeful without being overwhelming or too sparse.

    Completeness4/5

    The tool set covers key OSINT aspects like registration verification, profile data, business insights, device info, privacy, and status. A minor gap might be the lack of tools for message or group-related intelligence, but the core surface for WhatsApp number analysis is largely complete.

  • Average 3/5 across 6 of 6 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. 'Whatsapp user's status info' implies a read operation but doesn't specify whether this requires authentication, has rate limits, returns real-time or cached data, or what format the information comes in. For a tool accessing user data with zero annotation coverage, this is inadequate behavioral context.

    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 just three words, with no wasted language. However, this brevity comes at the cost of clarity - it's under-specified rather than efficiently informative. The structure is simple but lacks the front-loaded specificity that would make it more helpful to an agent.

    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 tool that presumably retrieves sensitive user information (WhatsApp status), the description is incomplete. With no annotations, no output schema, and a vague purpose statement, the agent lacks crucial context about what data is returned, privacy implications, authentication requirements, or error conditions. The description fails to compensate for the missing structured information.

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

    Parameters3/5

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

    The schema has 100% description coverage for its single parameter, providing clear format requirements for the phone number. The description adds no parameter-specific information beyond what's already in the schema. Since schema coverage is high, the baseline score of 3 is appropriate - the description doesn't compensate but doesn't need to given the schema's completeness.

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

    Purpose2/5

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

    The description 'Whatsapp user's status info' is vague and tautological - it essentially restates the tool name 'status' with minimal elaboration. It doesn't specify what action the tool performs (retrieve? update? monitor?) or what 'status info' encompasses. While it mentions WhatsApp, it doesn't clearly differentiate from sibling tools like 'privacy_settings' or 'business_insights' that might also relate to user 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. There's no mention of prerequisites, appropriate contexts, or comparison with sibling tools like 'fetch_osint_info' or 'devices' that might also retrieve WhatsApp-related data. The agent must infer usage solely from the tool name and single parameter.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose whether this requires authentication, has rate limits, returns specific data formats, or has any side effects. The description is minimal and lacks essential context for a tool that accesses potentially sensitive privacy information.

    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 at just three words, with zero wasted language. It's front-loaded with the core purpose and appropriately sized for a simple fetch operation with well-documented parameters.

    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 tool accessing privacy settings with no annotations and no output schema, the description is insufficient. It doesn't explain what privacy settings are returned, the format of the response, or any authentication requirements. Given the sensitivity of privacy data and lack of structured context, more descriptive guidance is needed.

    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 single parameter. The description adds no additional parameter information beyond what's in the schema, maintaining the baseline score of 3 where structured data 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 'Fetch user privacy settings' clearly states the action (fetch) and resource (user privacy settings), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'devices' or 'status' which might also retrieve user-related information, preventing a perfect 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 prerequisites, context for fetching privacy settings, or how it differs from sibling tools like 'status' or 'devices' that might provide related user data.

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

  • 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 the tool fetches data, implying a read-only operation, but doesn't mention any behavioral traits such as rate limits, authentication requirements, error conditions, or what happens if the profile picture doesn't exist. This leaves significant gaps in understanding how the tool behaves in practice.

    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, clear sentence that efficiently conveys the core functionality without any wasted words. It is front-loaded with the key action and resource, 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 the tool's simplicity (one parameter, no output schema, no annotations), the description is adequate but minimal. It covers the basic purpose but lacks context on usage guidelines, behavioral details, and output format (e.g., what the base64 string represents or how to handle errors). For a tool with no annotations or output schema, more completeness would be beneficial.

    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 single parameter 'phone' fully documented in the schema. The description adds no additional parameter semantics beyond what's already in the schema, such as format examples beyond 'without special characters' or handling of invalid numbers. This meets the baseline 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?

    The description clearly states the action ('Fetch') and the resource ('base64 encoded file of a whatsapp number profile picture'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'fetch_osint_info' or 'status', which might also involve WhatsApp data retrieval, 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 any prerequisites, limitations, or comparisons with sibling tools like 'fetch_osint_info' that might offer overlapping functionality. The agent must infer usage context solely from 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.

  • 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 returns data but doesn't specify whether it's a read-only operation, requires authentication, has rate limits, or details error handling. 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 directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, making it easy 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'business status' or 'verified name' entail, the format of the returned data, or any behavioral traits. For a tool that likely involves external data retrieval, more context is needed to use it effectively.

    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 0 parameters with 100% coverage, so no parameters need documentation. The description mentions 'array of WhatsApp numbers,' which might imply an input, but since the schema explicitly has no properties, this doesn't add semantic value. Baseline is 4 for zero parameters, as there's nothing to compensate for.

    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: 'returns business status and verified name for an array of WhatsApp numbers.' It specifies the verb ('returns'), resource ('business status and verified name'), and scope ('array of WhatsApp numbers'). However, it doesn't explicitly differentiate from sibling tools like 'status' or 'fetch_osint_info', which might provide overlapping or related 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. It doesn't mention sibling tools like 'status' or 'fetch_osint_info', nor does it specify prerequisites, exclusions, or contextual cues for usage. The agent must infer usage from the purpose alone.

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

  • 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 describes the core functionality (checking WhatsApp registration and profile picture details) but lacks critical behavioral traits such as authentication requirements, rate limits, error handling, or whether it performs external API calls. For a tool that likely queries external services, this omission is significant.

    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 appropriately sized and front-loaded, with the first sentence stating the primary purpose clearly. However, the phrasing 'adeptly determines' and 'furnishes' is slightly verbose, and the second sentence could be more streamlined. Overall, it's efficient but not perfectly concise.

    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 (external verification likely), no annotations, and no output schema, the description is incomplete. It covers the basic purpose but lacks details on behavioral aspects, error responses, or output structure. While it's adequate for understanding what the tool does, it doesn't provide enough context for reliable agent invocation without additional assumptions.

    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 'phone' parameter well-documented in the schema. The description adds no additional parameter semantics beyond what the schema provides (e.g., it doesn't clarify format beyond 'countrycode and number' or explain edge cases). This meets the baseline score of 3 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?

    The description clearly states the tool's purpose with specific verbs ('determines', 'provides insights', 'furnishes') and resources ('whether a given number is registered on WhatsApp', 'visibility of the profile picture', 'public URL of the image'). It distinguishes itself from sibling tools by focusing specifically on WhatsApp number verification and profile picture information, which is distinct from tools like 'business_insights' or 'privacy_settings'.

    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 compare it to sibling tools like 'base64_encoded_profile' or 'status', which might offer related functionality. The agent must infer usage from the purpose alone without explicit direction.

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

  • 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 adds context about the maximum number of linked devices (4), which is useful beyond the input schema. However, it does not cover other behavioral aspects such as error handling, response format, or performance characteristics (e.g., rate limits), leaving gaps that lower the score to 3.

    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 only two sentences that directly convey the tool's function and a key constraint. Every sentence earns its place without redundancy or unnecessary elaboration, making it highly efficient 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 low complexity (1 parameter, no output schema, no annotations), the description is somewhat complete but has gaps. It explains what the tool returns and a constraint, but lacks details on output format, error cases, or integration with sibling tools. For a simple query tool, this is adequate but not fully comprehensive, warranting a score of 3.

    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, providing detailed documentation for the single parameter (phone). The description adds no additional parameter semantics beyond what the schema already explains (e.g., it does not clarify parameter interactions or usage nuances). According to the rules, with high schema coverage (>80%), the baseline is 3, which is appropriate here.

    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: 'Returns the number of linked devices.' It specifies the verb ('returns') and resource ('linked devices'), making the action explicit. However, it does not distinguish this tool from its siblings (e.g., base64_encoded_profile, business_insights), which limits it to a 4 instead of 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?

    The description provides no guidance on when to use this tool versus alternatives. It mentions a constraint ('Max number of linked devices is 4') but does not explain when this tool is appropriate compared to sibling tools like privacy_settings or status, nor does it specify prerequisites or exclusions. This lack of contextual usage information results in a score of 2.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

bachai-whatsapp-osint MCP server

Copy to your README.md:

Score Badge

bachai-whatsapp-osint MCP server

Copy to your README.md:

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/BACH-AI-Tools/bachai-whatsapp-osint'

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