Enables importing API documentation from Postman collections using Postman API keys and collection IDs to create or update Theneo documentation projects
Supports importing OpenAPI/Swagger specifications from files, URLs, or raw text to automatically generate API documentation projects with AI-powered descriptions
Theneo MCP Server
Model Context Protocol server for Theneo SDK - The automation backbone for API documentation in the AI era.
This MCP server exposes Theneo's API documentation platform through the Model Context Protocol, allowing AI assistants to create, update, and publish API documentation automatically.
Overview
Theneo MCP enables any AI assistant (Claude Desktop, VS Code Copilot, Cursor, etc.) to interact with Theneo's SDK, making API documentation creation and maintenance fully automatable. Perfect for CI/CD pipelines, AI-driven workflows, and developer productivity tools.
Key Features
π¬ Natural Language: Just talkβno need to memorize tool names or parameters!
π€ AI-First: Works with any MCP-compatible AI assistant (Claude, VS Code, Cursor)
π Enterprise Security: Multi-source config, OS keychain support, secret masking
π― 6 Core Tools: List workspaces, create projects, import specs, publish, preview, and wait for AI generation
π¦ Flexible Input: Supports OpenAPI/Swagger files, URLs, raw text, and Postman collections
π AI-Powered: Built-in AI description generation (fill, overwrite, or skip)
π Smart Imports: Merge, overwrite, or endpoints-only update strategies
π Profile Support: Manage multiple environments (dev, staging, prod)
Installation
Global Installation (Recommended)
Local Development
Quick Start (5 Minutes)
1. Get Your API Key
Visit https://app.theneo.io/ to get your Theneo API key.
2. Configure Authentication
Option A: OS Keychain (Recommended for local dev)
Option B: Environment Variable
3. Connect to Your AI Assistant
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
:
VS Code Copilot
Add to your VS Code settings.json
:
Cursor
Add to Cursor settings (Settings β MCP):
4. Test It Out
In your AI assistant, just talk naturally:
Then create a project:
Or if you prefer being explicit:
π‘ Pro tip: You don't need to memorize tool names or parametersβjust describe what you want in plain English!
Configuration
Configuration Sources & Precedence
Configuration is loaded from multiple sources with clear precedence (highest first):
Priority | Source | Use Case | Example |
1 | CLI flags | Override everything |
|
2 | Environment variables | CI/CD, containers |
|
3 | Project RC file | Project-specific settings |
|
4 | User config | Personal defaults |
|
5 | OS keychain | Secure local storage |
|
6 | .env file | Development only |
|
Environment Variables
Variable | Description | Default |
| Your Theneo API key | Required |
| Theneo API endpoint |
|
| Theneo web app URL |
|
| Configuration profile |
|
Project Configuration File
Create .theneo-mcp.yaml
or .theneo-mcp.json
in your project root:
β οΈ Security Note: Never commit API keys to version control! Store them in keychain or environment variables.
User Configuration
Create ~/.config/theneo-mcp/config.json
(Linux/macOS) or %AppData%/theneo-mcp/config.json
(Windows):
OS Keychain (Recommended)
Store API keys securely in your system's keychain:
Using Profiles
Switch between environments easily:
Available Tools
π‘ Tip: You don't need to use the exact tool names! Just talk naturally to your AI assistant, and it will figure out which tool to call.
1. theneo_list_workspaces
List all workspaces accessible to your account.
Parameters: None
Natural Language Examples:
Explicit Tool Call (for testing/debugging):
2. theneo_create_project
Create a new API documentation project with optional spec import and AI generation.
Parameters:
name
(string, required): Project nameworkspaceKey
(string, optional): Workspace slugworkspaceId
(string, optional): Workspace IDpublish
(boolean, optional): Publish immediatelyisPublic
(boolean, optional): Make project publicdescriptionGeneration
(enum, optional):FILL
|OVERWRITE
|NO_GENERATION
Data sources (choose one):
file
(string): Path to local OpenAPI/Swagger filelink
(string): URL to OpenAPI/Swagger spectext
(string): Raw OpenAPI/Swagger specpostmanApiKey
+postmanCollectionIds
: Import from Postman
Natural Language Examples:
Explicit Tool Call (for testing/debugging):
3. theneo_import_project_document
Import or update API documentation in an existing project.
Parameters:
projectId
(string, required): Target project IDpublish
(boolean, optional): Publish after importimportOption
(enum, optional):MERGE
|OVERWRITE
|ENDPOINTS_ONLY
Data sources (same as create_project, one required)
Natural Language Examples:
Explicit Tool Call (for testing/debugging):
4. theneo_publish_project
Publish a project to make it live.
Parameters:
projectId
(string, required): Project to publish
Natural Language Examples:
Explicit Tool Call (for testing/debugging):
5. theneo_preview_link
Get the editor preview URL for a project.
Parameters:
projectId
(string, required): Project ID
Natural Language Examples:
Explicit Tool Call (for testing/debugging):
6. theneo_wait_for_generation
Wait for AI description generation to complete.
Parameters:
projectId
(string, required): Project IDretryTimeMs
(number, optional): Polling interval (default: 2500)maxWaitTimeMs
(number, optional): Max wait time (default: 120000)
Natural Language Examples:
Explicit Tool Call (for testing/debugging):
Demo Script (End-to-End)
This 5-minute demo shows the complete workflow. You can use either natural language or explicit tool calls.
π£οΈ Natural Language Version (Recommended)
Just talk naturally to your AI assistant:
π§ Explicit Tool Calls Version (For Testing)
If you want precise control or are debugging:
π‘ Real-World Conversation Example
More examples in examples/demo-prompts.md
.
Security Best Practices
β DO
Use OS keychain for API keys on local machines
Use environment variables in CI/CD and containers
Enable secret masking in your CI logs
Rotate API keys regularly and after demos
Use profiles to isolate environments
Review to exclude secrets
Use to prevent publishing secrets
β DON'T
Never commit API keys to git
Never log full configuration objects
Never use API keys in URLs or query parameters
Never share API keys in public channels
Avoid storing keys in project RC files checked into git
CI/CD Integration
Example GitHub Actions workflow:
Security Notes for CI:
Store
THENEO_API_KEY
as a GitHub secretUse
secrets.
syntax to avoid exposureConsider short-lived tokens if Theneo supports OIDC
Mask secrets in logs:
echo "::add-mask::$THENEO_API_KEY"
Development
Build from Source
Development Mode
Code Quality
Project Structure
Troubleshooting
API Key Not Found
Problem: Server exits with "API key not configured"
Solutions:
Set environment variable:
export THENEO_API_KEY=your_key
Save to keychain:
theneo-mcp creds save --apiKey your_key
Check profile:
theneo-mcp server --profile default
Keychain Not Available
Problem: "OS keychain is not available"
Solution: Use environment variables or config files instead:
MCP Server Not Connecting
Problem: AI assistant can't find tools
Solutions:
Restart your AI assistant after config changes
Check logs: Look for MCP connection errors
Verify command path: Use absolute path to
theneo-mcp
Test manually: Run
theneo-mcp server
to see startup logs
Import Fails
Problem: "Failed to import document"
Solutions:
Verify file path or URL is accessible
Ensure OpenAPI spec is valid JSON/YAML
Check project ID is correct
Review API key permissions
AI Generation Timeout
Problem: "Generation failed or timed out"
Solutions:
Increase timeout:
maxWaitTimeMs: 300000
(5 minutes)Check Theneo dashboard for generation status
Try again - large specs may take time
Publishing to npm
Pre-Publish Checklist
Update version in
package.json
Run
npm run type-check
Run
npm run lint
Test build:
npm run build
Verify
.npmignore
excludes secretsTest installation:
npm pack
and install locallyUpdate CHANGELOG.md
Publish
What Gets Published
β Included:
dist/
(compiled JavaScript)package.json
,README.md
,LICENSE
β Excluded (via .npmignore
):
src/
(TypeScript source).env
and secretsExamples with sensitive data
Development configs
Contributing
Contributions welcome! Please:
Fork the repository
Create a feature branch
Make your changes with tests
Run linting and type checks
Submit a pull request
License
MIT License - see LICENSE file for details
Links
Theneo Platform: https://theneo.io
Theneo SDK: https://www.npmjs.com/package/@theneo/sdk
Model Context Protocol: https://modelcontextprotocol.io
Support
Documentation: This README and
examples/demo-prompts.md
Issues: GitHub Issues
Theneo Support: https://theneo.io/support
Made with β€οΈ for the AI-powered documentation era
Positioning Theneo as the automation backbone for developer documentation
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables AI assistants to automatically create, update, and publish API documentation through Theneo's platform. Supports OpenAPI specs, Postman collections, AI-powered description generation, and natural language interactions for seamless documentation workflows.