# Fuxux

> Schedule social posts on 12 platforms: create, edit, reschedule, delete, and list your queue.

- name: io.github.abogitoff/fuxux
- version: 1.2.1
- connection class: R2 (oauth_consent_once)
- trust: 79/100 flags: no-repository
- quality: 78/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.abogitoff%2Ffuxux
- tools: https://api.protogrid.dev/v1/servers/io.github.abogitoff%2Ffuxux/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": {
    "fuxux": {
      "type": "http",
      "url": "https://www.fuxux.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${FUXUX_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${FUXUX_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-97% +updated-10d-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: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### 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: 93 (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`: 8 of 8 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 2 of 8 tools declare all four hints; missing: get_dashboard (destructiveHint, idempotentHint); whoami (destructiveHint, idempotentHint); list_connected_accounts (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,769 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`: 6 tool changes in 30 days
- fail `stability.rug_pull`: 2 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: 8, about 1,769 tokens to load them all
- tool set hash: b4bd00084f175f3dda4a4675e3efffbc
- tools last changed: 2026-10-03T17:15:22.274Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.abogitoff/fuxux.svg)](https://protogrid.dev/servers/io.github.abogitoff/fuxux)
- 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-03 `create_post` changed (inputSchema)
- 2026-10-02 `create_post` changed (inputSchema)
- 2026-10-02 `create_post` changed (inputSchema)
- 2026-09-30 `create_post` changed (description, inputSchema)
  - before: Create a post: per-platform captions, optional prompt, optional scheduled_at (ISO, future), optional media_urls (strings). Without scheduled_at, this publishes immediately to the connected social platforms.
  - after: Create a post: per-platform captions, optional prompt, optional scheduled_at (ISO, future), optional media_urls (strings). Without scheduled_at or draft, this publishes immediately to the connected social platforms. Set draft: true to save it for the user to review in Fuxux instead; nothing is published.
- 2026-09-30 `list_posts` changed (description, inputSchema) **meaning changed**
  - before: List posts (calendar / queue). Optional filters: month (YYYY-MM), status (scheduled|published|draft|all).
  - after: List posts (calendar / queue). Optional filters: month (YYYY-MM), status. Pass limit to get only what you need (e.g. limit 5 + order "newest" for the most recent posts). Page with offset while hasMore is true.
- 2026-09-30 `list_connected_accounts` changed (description) **meaning changed**
  - before: List social accounts connected to the Fuxux workspace.
  - after: List social accounts connected to the Fuxux workspace. Use an account's id in create_post targets to pick which account posts when a platform has more than one.

Full history: https://api.protogrid.dev/v1/servers/io.github.abogitoff%2Ffuxux/changes

## Remotes

- https://www.fuxux.com/api/mcp (streamable-http, auth oauth2, reachable true, uptime30d 0.96511626)

## Packages

_none_

## Tools (8)

- `create_post`: Create a post: per-platform captions, optional prompt, optional scheduled_at (ISO, future), optional media_urls (strings). Without scheduled_at or draft, this publishes immediately to the connected social platforms. Set draft: true to save it for the user to review in Fuxux instead; nothing is published.
- `delete_post`: Delete a post from Fuxux. A draft or scheduled post will then never publish. For an already-published post this removes only Fuxux's record; it does NOT delete it from the social platform. Fails while the post is publishing.
- `get_dashboard`: Summary stats, upcoming scheduled posts, and per-platform connection status.
- `get_post`: Get one post with its per-platform variants. Variant ids from here are what update_post uses to edit individual captions. Also finds drafts, which list_posts (month-scoped) can miss.
- `list_connected_accounts`: List social accounts connected to the Fuxux workspace. Use an account's id in create_post targets to pick which account posts when a platform has more than one.
- `list_posts`: List posts (calendar / queue). Optional filters: month (YYYY-MM), status. Pass limit to get only what you need (e.g. limit 5 + order "newest" for the most recent posts). Page with offset while hasMore is true.
- `update_post`: Edit a draft or scheduled post before it publishes: reschedule (scheduled posts only; scheduled_at must be in the future), change captions, or replace media. Published or publishing posts can't be edited. Provide at least one of scheduled_at, variant_updates, media_urls.
- `whoami`: Return the current user id and email for the Bearer token (validates authentication).
