ProfessionalHeadshot.io
Server Details
LinkedIn, Slack and GitHub profile photo specs, headshot style guides and a free headshot audit.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
The three tools have largely distinct purposes keyed to different inputs: audit_headshot takes an image URL, get_headshot_guide takes a use-case/industry, and get_profile_photo_specs takes a platform. The only mild overlap is that both guide and specs dispense headshot advice, but the descriptions clearly separate style opinion from quoted platform rules.
All names are snake_case, readable, and mostly follow verb_noun, with two using the get_ prefix (get_headshot_guide, get_profile_photo_specs). The lone audit_ prefix for audit_headshot is a minor deviation that slightly breaks the pattern but remains clear.
Three tools is on the lean side but well-matched to a narrow, single-purpose domain (headshot assessment and guidance). Nothing feels redundant or padding, though the surface is small enough that it could feel thin for broader use.
The set covers the natural lifecycle for advice: evaluate a photo (audit), learn how to produce one (guide), and check platform requirements (specs). The main gap is that despite the 'ProfessionalHeadshot' branding there is no create/enhance operation, but that may be out of scope for this advisory surface.
Available Tools
3 toolsaudit_headshotHeadshot auditARead-onlyInspect
Score one photo 0-100 as a professional headshot and list concrete issues and fixes (lighting, framing, face visibility, background, attire). Takes a public https URL to a JPEG/PNG/WebP image. Free: 5 audits per day per user. The photo is analysed and not stored.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | Public https URL of the photo (JPEG, PNG or WebP, max 10 MB) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, non-idempotent and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: a per-user rate limit (5/day) and the privacy guarantee that the photo is analysed and not stored. It does not mention latency or failure modes, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it returns, what input it accepts, and the quota/privacy terms. The core purpose is front-loaded and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of summarizing the return (a 0-100 score plus a list of issues and fixes) and covers input constraints, quota and data handling. An agent has enough to call it correctly, though there is no explicit note on error behavior for unreachable URLs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents allowed formats and the 10 MB cap; the description largely restates the same URL/format constraint. With the schema carrying this burden, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Score one photo 0-100 as a professional headshot') plus the concrete outputs (issues and fixes across lighting, framing, face visibility, background, attire). This is clearly distinguishable from the guide/specs siblings by function, though the description never names them to make the contrast explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Input constraints are given (public https URL, JPEG/PNG/WebP), and the free-tier limit of 5 audits/day is stated, but there is no explicit when-to-use or when-not-to-use guidance and no routing versus get_headshot_guide or get_profile_photo_specs. Usage is only implied by the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_headshot_guideHeadshot style guideARead-onlyIdempotentInspect
How to shoot or choose a professional headshot for a given use (LinkedIn, resume/CV, company website team page, executive bio, speaker/press kit) and industry: framing, background, attire, expression and what to avoid. Style guidance, not an official platform rule.
| Name | Required | Description | Default |
|---|---|---|---|
| use | Yes | Where the headshot will be used | |
| industry | No | Optional: the person's industry (default general) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the agent knows this is a safe, deterministic lookup. The description adds useful framing that the output is advisory style opinion rather than authoritative platform rules and lists the topics returned. It does not describe output format or depth, and with no output schema present that leaves a modest gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence covers purpose, scope, and the key qualifier in one pass with no filler. It is dense but readable, and the "not an official platform rule" caveat is placed last where it appropriately qualifies the whole statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter advisory tool with fully documented enums and safety annotations, the description supplies what an agent needs: what it returns conceptually (framing, background, attire, expression, pitfalls) and that it is non-authoritative. Return detail is only lightly handled, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are enum-constrained with their own descriptions, so the schema does the heavy lifting. The description restates the use categories already present in the enum and adds no syntax or interaction detail beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (professional headshot style guidance) and enumerates the actual dimensions covered (framing, background, attire, expression, pitfalls). The clause "style guidance, not an official platform rule" implicitly separates it from get_profile_photo_specs, but no sibling is named explicitly, so it stops short 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the usage context by scoping to "a given use (LinkedIn, resume/CV...)" and an industry, and the "not an official platform rule" caveat hints that platform specs live elsewhere. There is no explicit when-to-use vs. when-not statement or named alternative, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profile_photo_specsProfile photo specsARead-onlyIdempotentInspect
Official profile and cover photo requirements (pixel limits, file size, formats, content rules) for LinkedIn personal profiles, LinkedIn company Pages, Slack and GitHub, quoted from each platform's help pages with source links. Values the platform does not publish are null. Omit platform to get all.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Optional: one platform; omit to list all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuine behavioral context beyond that: results are quoted from each platform's help pages with source links, and values a platform does not publish are returned as null. This provenance and null-handling disclosure is exactly the kind of extra signal that helps an agent interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and payload contents in one dense sentence, followed by a short rules sentence about nulls and the omit-platform behavior. Every clause carries information, though the first sentence is long enough to be slightly crowded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does so adequately (pixel limits, file size, formats, content rules, source links, null semantics). For a simple read-only, single-optional-param reference tool this is close to complete; only the relationship to sibling tools is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enum is fully enumerated, so the schema already documents the single parameter. The description's 'Omit platform to get all' largely restates the schema's 'Optional: one platform; omit to list all', adding little beyond what is structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (retrieve official profile/cover photo requirements) and enumerates exactly what the payload contains (pixel limits, file size, formats, content rules) across named platforms. It is clear enough to distinguish from a photo-auditing tool, though it never names the siblings audit_headshot or get_headshot_guide to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the domain (fetch requirements when you need spec data), and 'Omit platform to get all' clarifies the parameter-driven behavior. However, there is no explicit when-to-use guidance versus audit_headshot (which evaluates an image) or get_headshot_guide (which presumably provides guidance), so the agent must infer the routing.
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.
3 tool updates
- First observed
audit_headshot - First observed
get_headshot_guide - First observed
get_profile_photo_specs
Related MCP Connectors
Professional profile photos and headshots from your own selfies.
Tinder, Hinge and Bumble photo rules and AI-photo policies, plus a free dating photo audit.
Turn a portrait into a compliant passport, visa or ID photo. 300+ official specs, 3 free a day.
Passport, visa and ID photo sizes, head size and background rules from official sources.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables analyzing LinkedIn developer profiles for optimization and generating high-engagement LinkedIn posts.85 npmMIT
- AlicenseAqualityBmaintenanceEnables MCP-compatible AI clients to retrieve a professional profile as callable tools, including projects, work experience, skills, and live GitHub activity.5MIT
- AlicenseAqualityCmaintenanceDigital identity layer for AI — your bio, career, skills, interests, and projects always available to every AI tool. Auto-generates profile from 342+ public APIs, 13 real-time plugins, YAML-based profiles with privacy-first local storage.250 npm21MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to read and edit LinkedIn profiles including headline, about section, work experience, education, and skills through OAuth 2.0 authentication.16MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.