Tattoo Feed
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IG_USER_ID | No | The Instagram Business/Creator account id that owns the token. | |
| NGROK_DOMAIN | No | Optional. Stable ngrok domain for persistent URL. | |
| IG_ACCESS_TOKEN | No | A long-lived Instagram Graph API access token. | |
| MCP_AUTH_ISSUER | No | Issuer URL of your IdP — must exactly match the iss claim. | |
| NGROK_AUTHTOKEN | No | ngrok auth token for TLS ingress. | |
| MCP_AUTH_AUDIENCE | No | Canonical public URL of this server — the RFC 8707 audience binding. | |
| MCP_AUTH_JWKS_URL | No | JWKS endpoint used to verify JWT signatures. | |
| TATTOO_FEED_DATA_DIR | No | Optional. Where the JSON stores live (default ./data). | |
| MCP_AUTH_REQUIRED_SCOPES | No | Comma-separated required scopes (e.g. mcp:read). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_artistsA | List the tattoo artists currently being tracked. |
| add_artistA | Track a new artist by Instagram handle. The handle must resolve to a reachable professional (Business/Creator) account; otherwise a clear error is returned. |
| remove_artistB | Stop tracking the artist with the given handle. |
| get_feedA | Return recent posts from all tracked artists, newest first. Returns metadata and permalinks only (no images) to keep context light. |
| next_inspirationA | Show one not-yet-seen post for inspiration, then mark it seen. |
| save_to_inspirationC | Bookmark a post (by id, from the current feed) into saved inspiration. |
| list_inspirationA | List saved inspiration items, in the order they were saved. |
| remove_from_inspirationB | Remove a saved inspiration item by post id. |
| reset_seenA | Clear the seen-set so next_inspiration starts fresh. |
| record_preferenceA | Record a note about the user's tattoo taste. |
| get_preference_summaryA | Return every recorded taste preference, so a fresh session can reload it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _widget_inspiration | ChatGPT Apps SDK widget that renders the next_inspiration preview image. |
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/EezyMAcc/Tattoo-Pal'
If you have feedback or need assistance with the MCP directory API, please join our Discord server