# ProfessionalHeadshot.io

> LinkedIn, Slack and GitHub profile photo specs, headshot style guides and a free headshot audit.

- name: io.professionalheadshot/professionalheadshot
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.professionalheadshot%2Fprofessionalheadshot
- tools: https://api.protogrid.dev/v1/servers/io.professionalheadshot%2Fprofessionalheadshot/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "professionalheadshot": {
      "type": "http",
      "url": "https://professionalheadshot.io/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-6d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 536 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 6 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 536 tokens to load them all
- tool set hash: 57cc6df166bc04c0dd5377cb81e41ac9
- badge: [![protogrid quality](https://protogrid.dev/badge/io.professionalheadshot/professionalheadshot.svg)](https://protogrid.dev/servers/io.professionalheadshot/professionalheadshot)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://professionalheadshot.io/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `audit_headshot`: 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.
- `get_headshot_guide`: 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.
- `get_profile_photo_specs`: 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.
