notra
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NODE_ENV | No | Node environment (e.g., development, production). Affects default OAuth issuer. | |
| NOTRA_API_KEY | Yes | Your Notra API key, generated from the Notra workspace dashboard under Developer > API Keys. | |
| NOTRA_MCP_RESOURCE | No | MCP resource URL for self-hosted HTTP deployments. Default: https://mcp.usenotra.com. | |
| NOTRA_OAUTH_ISSUER | No | OAuth issuer URL for self-hosted HTTP deployments. Default: https://app.usenotra.com/api/auth (production) or http://localhost:3000/api/auth (development). | |
| NOTRA_OAUTH_JWKS_URL | No | JWKS URL for OAuth validation in self-hosted HTTP deployments. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_postsA | List posts from Notra with optional filters for sorting, pagination, status, content type, and brand identity |
| get_postA | Get a single post by its ID, including full content in HTML and markdown |
| update_postA | Update a post's title, markdown content, or publication status |
| delete_postB | Delete a post by its ID |
| generate_postA | Queue an async post generation job. Notra will analyze your GitHub activity and generate content. Use get_post_generation_status to poll for completion. |
| get_post_generation_statusA | Check the status of an async post generation job. Returns job status and event log. |
| list_brand_identitiesA | List all brand identities configured for your organization |
| get_brand_identityA | Get a single brand identity by its ID, including tone, audience, and language settings |
| update_brand_identityA | Update a brand identity's settings including name, tone, audience, language, and more |
| delete_brand_identityB | Delete a brand identity. Returns any schedules or events that were disabled as a result. |
| generate_brand_identityA | Queue async brand identity generation from a website URL. Notra will scrape the site and extract brand info. Use get_brand_identity_generation_status to poll for completion. |
| get_brand_identity_generation_statusA | Check the status of an async brand identity generation job |
| list_integrationsA | List all connected integrations (GitHub, Slack, Linear) for your organization |
| create_github_integrationC | Connect a GitHub repository as an integration for content generation |
| delete_integrationA | Delete a GitHub or Linear integration. Returns any schedules or events that were disabled as a result. |
| list_schedulesA | List scheduled content generation jobs, optionally filtered by repository IDs |
| create_scheduleB | Create a content generation schedule using a cron-style daily, weekly, or monthly trigger |
| update_scheduleB | Update an existing content generation schedule |
| delete_scheduleA | Delete a content generation schedule by its ID |
| list_chatsA | List chat sessions for your organization |
| get_chatA | Get a single chat session with its messages |
| get_chat_by_external_channelA | Get a chat session by Discord or Slack external channel ID |
| create_chatA | Start a new chat and return the assistant's reply text with the chat ID when available |
| post_chat_messageB | Post a message to an existing chat and return the assistant's reply text |
| list_skillsA | List reusable writing skills for your organization |
| get_skillA | Get a single reusable writing skill by name |
| create_skillB | Create a reusable writing skill |
| update_skillC | Update a reusable writing skill by name |
| delete_skillA | Delete a reusable writing skill by name |
| submit_feedbackA | Send product feedback, a bug report, or a feature request to the Notra team |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Each tool targets a distinct resource or action. Post, brand identity, integration, schedule, chat, skill, and feedback tools are clearly separated. Async generation and status polling are paired cleanly, avoiding ambiguity.
Most tools follow a verb_noun pattern (e.g., delete_post, create_skill). Minor inconsistencies: 'create_github_integration' is more specific than 'delete_integration', and 'submit_feedback' deviates from the create/update/delete pattern.
30 tools cover multiple subdomains (posts, brand, integrations, schedules, chats, skills, feedback). While slightly high, each tool serves a clear purpose and most CRUD operations are present, making the count reasonable.
Core CRUD operations are present for posts, brand identities, skills, schedules, and chats. Async generation with polling is implemented. Missing update/delete for integrations and feedback lifecycle (no list/update/delete for feedback) are minor gaps.