# Openpath

> Live jobs (Austin and remote) and Austin local businesses; message the owner through Openpath.

- name: sh.openpath/openpath
- version: 3.6.0
- connection class: R2 (oauth_consent_once)
- trust: 83/100 flags: no-repository
- quality: 78/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/sh.openpath%2Fopenpath
- tools: https://api.protogrid.dev/v1/servers/sh.openpath%2Fopenpath/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "openpath": {
      "type": "http",
      "url": "https://openpath.sh/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 78/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: 100 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- pass `auth.cimd`: Client ID Metadata Documents supported
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (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`: 2 of 2 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search (idempotentHint); get_listing (idempotentHint)
- pass `tools.token_cost`: about 502 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 9 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

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

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

- tools: 2, about 502 tokens to load them all
- tool set hash: 7b7bd5c6a9011ac9b9fbbfa44601e79c
- tools last changed: 2026-10-16T08:45:00.527Z
- badge: [![protogrid quality](https://protogrid.dev/badge/sh.openpath/openpath.svg)](https://protogrid.dev/servers/sh.openpath/openpath)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-16 `search` changed (description) **meaning changed**
  - before: Use this when the person wants a job to apply to or a local business to reach. Jobs come from employers’ own job boards and are rechecked daily: each result has the role, the pay when the employer gives it, remote, hybrid or on-site, the place, and the employer’s Apply link. Most jobs are in Austin and remote. Local businesses are in Austin, Texas, each with a Contact line: the owner’s Openpath inbox address. Results show no phone, email or website. Each result is one current listing in plain Markdown. Write the query the way the person said it, with the role, place and pay when they matter: "remote data engineer over $150k", "plumber near Austin, TX". When nothing matches, it says so.
  - after: Jobs and local businesses in Austin, Texas and nearby towns (Round Rock, Cedar Park, Georgetown), plus remote jobs. Use this when the person wants a job to apply to (barista, nurse, warehouse, software, remote data roles) or a local business to reach (plumber, electrician, dentist, gym, daycare, restaurant). Each result is one current listing: the role or business, the pay when stated, the place, and the employer’s Apply link or the owner’s Openpath inbox. Write the query as the person said it, with place and pay: "plumber near Austin, TX". Not for news, reviews, or places outside the Austin area.
- 2026-10-16 `search` changed (inputSchema)
- 2026-10-15 `get_listing` changed (description, inputSchema)
  - before: Read one listing in full, as Markdown, with its id from the result's Link line. Use it to re-read a listing before acting on it or quoting it to the person: it says whether it has ended.
  - after: Read one listing in full, as Markdown, by the id at the end of its Link line. Use it to re-read a listing before acting on it or quoting it: it says whether the listing has ended.
- 2026-10-15 `search` changed (description, inputSchema)
  - before: Use this when the person wants a job to apply to or a local business to reach. Jobs come from employers' own job boards and are rechecked daily: each result has the role, the pay when the employer gives it, remote, hybrid or on-site, the place, and the employer's Apply link. Most jobs are tech, product, operations and health roles at a short list of companies, in Austin and remote. Local businesses are in Austin, Texas, for now, each with a Contact line with the owner's Openpath inbox address; results show no phone, email or website. Each result is one current listing in plain Markdown, not a web page about it. Write the query the way the person said it, with the role, place and pay when they matter: "remote data engineer over $150k", "plumber near Austin, TX". When nothing matches, it says so. Searching shares only the query, and does not authorize contacting anyone.
  - after: Use this when the person wants a job to apply to or a local business to reach. Jobs come from employers’ own job boards and are rechecked daily: each result has the role, the pay when the employer gives it, remote, hybrid or on-site, the place, and the employer’s Apply link. Most jobs are in Austin and remote. Local businesses are in Austin, Texas, each with a Contact line: the owner’s Openpath inbox address. Results show no phone, email or website. Each result is one current listing in plain Markdown. Write the query the way the person said it, with the role, place and pay when they matter: "remote data engineer over $150k", "plumber near Austin, TX". When nothing matches, it says so.
- 2026-10-15 `search` changed (inputSchema)
- 2026-10-14 `search` changed (description, inputSchema)
  - before: Use this when the person wants a live listing they can act on, anywhere in the US: a job to apply to, a local business or service, a home, a product, a car or an event. Each result is one current listing, not a web page about it, in plain Markdown: what it is, its facts (pay, price, place, dates), how to act on it (a Contact line with the owner's Openpath inbox address, and for a job the employer's Apply link; results show no phone, email or website), and where it came from. A collected listing says when it was last checked. Write the query the way the person said it, with a place and a price when they matter: "2 bedroom in Brooklyn under 3k", "plumber near Austin, TX". When nothing matches, it says so. Searching shares only the query, and does not authorize contacting anyone.
  - after: Use this when the person wants a job to apply to or a local business to reach. Jobs come from employers' own job boards and are rechecked daily: each result has the role, the pay when the employer gives it, remote, hybrid or on-site, the place, and the employer's Apply link. Most jobs are tech, product, operations and health roles at a short list of companies, in Austin and remote. Local businesses are in Austin, Texas, for now, each with a Contact line with the owner's Openpath inbox address; results show no phone, email or website. Each result is one current listing in plain Markdown, not a web page about it. Write the query the way the person said it, with the role, place and pay when they matter: "remote data engineer over $150k", "plumber near Austin, TX". When nothing matches, it says so. Searching shares only the query, and does not authorize contacting anyone.
- 2026-10-14 `search` changed (description)
  - before: Use this when the person wants a live listing they can act on, anywhere in the US: a job to apply to, a local business or service, a home, a product, a car or an event. Each result is one current listing, not a web page about it, in plain Markdown: what it is, its facts (pay, price, place, dates), how to act on it (an Apply, Phone, Website or Buy line where the source gives one, and a Contact line with the owner's Openpath inbox address), and where it came from. A collected listing says when it was last checked. Write the query the way the person said it, with a place and a price when they matter: "2 bedroom in Brooklyn under 3k", "plumber near Austin, TX". When nothing matches, it says so. Searching shares only the query, and does not authorize contacting anyone.
  - after: Use this when the person wants a live listing they can act on, anywhere in the US: a job to apply to, a local business or service, a home, a product, a car or an event. Each result is one current listing, not a web page about it, in plain Markdown: what it is, its facts (pay, price, place, dates), how to act on it (a Contact line with the owner's Openpath inbox address, and for a job the employer's Apply link; results show no phone, email or website), and where it came from. A collected listing says when it was last checked. Write the query the way the person said it, with a place and a price when they matter: "2 bedroom in Brooklyn under 3k", "plumber near Austin, TX". When nothing matches, it says so. Searching shares only the query, and does not authorize contacting anyone.
- 2026-10-13 `get_listing` changed (annotations)
- 2026-10-13 `search` changed (annotations)

Full history: https://api.protogrid.dev/v1/servers/sh.openpath%2Fopenpath/changes

## Remotes

- https://openpath.sh/mcp/search (streamable-http, auth none, reachable false, uptime30d 0.88)
- https://openpath.sh/mcp (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

_none_

## Tools (2)

- `get_listing`: Read one listing in full, as Markdown, by the id at the end of its Link line. Use it to re-read a listing before acting on it or quoting it: it says whether the listing has ended.
- `search`: Jobs and local businesses in Austin, Texas and nearby towns (Round Rock, Cedar Park, Georgetown), plus remote jobs. Use this when the person wants a job to apply to (barista, nurse, warehouse, software, remote data roles) or a local business to reach (plumber, electrician, dentist, gym, daycare, restaurant). Each result is one current listing: the role or business, the pay when stated, the place, and the employer’s Apply link or the owner’s Openpath inbox. Write the query as the person said it, with place and pay: "plumber near Austin, TX". Not for news, reviews, or places outside the Austin area.
