verto-intel-mcp
v1.2.0
Published
MCP server for Verto Intel Bot - connects Claude Desktop to your competitive intelligence system
Maintainers
Readme
Verto Intel MCP Server
MCP (Model Context Protocol) server that connects Claude Desktop to Verto Intel Bot - your competitive intelligence and content generation system with 20+ specialized tools.
Quick Start
1. Add to Claude Desktop Config
Open your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the following:
{
"mcpServers": {
"verto-intel": {
"command": "npx",
"args": ["-y", "verto-intel-mcp"],
"env": {
"VERTO_API_URL": "https://your-verto-bot.up.railway.app",
"VERTO_ADMIN_PASSWORD": "your-admin-password"
}
}
}
}2. Restart Claude Desktop
After saving the config, restart Claude Desktop to load the MCP server.
Features Overview
This MCP server provides 21+ tools organized in 5 categories:
- 🤖 9 Agent Execution Tools - Direct access to all specialized AI agents
- 📝 3 Prompt Management Tools - Version and customize agent prompts
- ✍️ 6 Content Generation Tools - High-level content creation workflows
- 📊 3 Scan & Source Management Tools - Monitor intelligence sources
- 📁 5 Resources - Read-only data access
🤖 Agent Execution Tools
Direct access to all 9 specialized agents:
list_agents
View all available agents with metadata (name, description, prompt version, custom status).
Example:
Use list_agents to see what agents are availableexecute_web_scout
Research topics using Exa Search.
Parameters:
topic(required) - Research topicmaxSources(optional) - Max sources to returnrecencyDays(optional) - How recent sources should be
Returns:
- 5-10 relevant sources with URLs
- Key facts and statistics
- Content angles for CMOs
Example:
Use execute_web_scout to research "AI pricing strategies for SaaS 2024"execute_doc_parser
Parse and extract from documents.
Parameters:
url(optional) - URL to parsetext(optional) - Raw text to parse
Returns:
- Key arguments
- Data points with evidence
- Metadata (title, author, date)
Example:
Use execute_doc_parser with url "https://example.com/article"execute_scorer
Score content for B2B marketing value (0-100).
Parameters:
title(required) - Content titlecontent(required) - Content bodyurl(optional) - Source URL
Returns:
- Total score (0-100)
- Badge (🏆 GOLD, 🥈 SILVER, 🥉 BRONZE)
- Classification (Must-Read, Worth Reading, Skip)
- Key insight for CMOs
Example:
Use execute_scorer to rate this articleexecute_linkedin_writer
Generate LinkedIn posts in Sloane Bishop voice.
Parameters:
topic(optional) - Topic to write aboutcontent(optional) - Source contentfocusAngle(optional) - Specific angle
Returns:
- 150-200 word LinkedIn post
- Sloane Bishop voice (outcome-obsessed, math-backed, no buzzwords)
- Hook, tension, insight, proof, CTA, hashtags
Example:
Use execute_linkedin_writer to create a post about efficient growthexecute_article_writer
Generate thought leadership articles.
Parameters:
topic(optional) - Topiccontent(optional) - Source contentfocusAngle(optional) - Specific angle
Returns:
- 600-800 word thought leadership article
- Executive-focused, data-driven
- Structured with introduction, insights, conclusion
Example:
Use execute_article_writer to write about modern marketing tech stacksexecute_voice_critic
Critique content for voice consistency.
Parameters:
content(required) - Content to critiquecontentType(optional) -linkedin_postorarticle
Returns:
- Voice consistency score (0-100)
- Specific violations
- Improvement suggestions
Example:
Use execute_voice_critic to review this LinkedIn postexecute_fact_checker
Verify factual accuracy with source citations.
Parameters:
content(required) - Content to checksourceUrls(optional) - Known source URLs
Returns:
- List of factual claims
- Verification status (Verified, Likely True, Unverified, Questionable)
- Source citations
Example:
Use execute_fact_checker to verify the claims in this articlefind_trends
Identify emerging, growing, peak, and declining trends across multiple sources.
Parameters:
sources(required) - Array of content/articles to analyzetimeframe(optional) - Time window in days (default: 30)
Returns:
- Trends with signal strength (emerging/growing/peak/declining)
- Evidence from sources
- CMO implications
- Contrarian interpretations
- Meta-narrative synthesis
Uses:
- Frequency analysis - How often mentioned
- Velocity analysis - Rate of increase/decrease
- Authority analysis - Source credibility
- Sentiment analysis - Positive/negative momentum
Example:
Use find_trends with sources array from recent web_scout results📝 Agent Prompt Management Tools
Version and customize agent prompts:
get_agent_prompt
View current prompt and version history.
Parameters:
agentName(required) - Agent name (e.g.,linkedin_writer)
Returns:
- Current active prompt
- Version history with changelogs
- Creation dates and authors
Example:
Use get_agent_prompt for agentName "linkedin_writer"update_agent_prompt
Create new prompt version (versioned with changelog).
Parameters:
agentName(required) - Agent namenewPrompt(required) - New prompt textchangelog(optional) - Description of changes
Returns:
- New version number
- Active prompt text
- Changelog entry
Example:
Use update_agent_prompt to make linkedin_writer more aggressivetest_agent_prompt
Test prompts safely without activation.
Parameters:
agentName(required) - Agent nametestPrompt(required) - Prompt to testtestInput(required) - Test input data
Returns:
- Test execution result
- Note that prompt was NOT activated
- Execution metadata
Example:
Use test_agent_prompt to try a new prompt for web_scout✍️ Content Generation Tools
High-level content creation workflows:
create_content_from_url
Generate content from article URL.
Parameters:
url(required) - Article URLoutputType(optional) -linkedin_post,article, orboth(default)tone(optional) -default,aggressive,educational,storytelling
Example:
Use create_content_from_url with url "https://techcrunch.com/article" and outputType "both"create_content_from_topic
Research topic → generate content.
Parameters:
topic(required) - Topic to researchoutputType(optional) - Content typetone(optional) - Tone
Example:
Use create_content_from_topic with topic "Modern data stack for marketing teams"create_content_from_text
Generate from provided text.
Parameters:
text(required) - Source texttitle(optional) - Content titleoutputType(optional) - Content typetone(optional) - Tone
Example:
Use create_content_from_text with the text I just providedcreate_content_from_file
Generate from local file (TXT, MD, CSV).
Parameters:
filePath(required) - Absolute file pathoutputType(optional) - Content typetone(optional) - Tone
Note: For PDF/DOCX, attach file to Claude chat instead.
create_content_multi_agent
Advanced multi-agent workflow with scoring & voice check.
Parameters:
inputType(required) -url,file, ortopicsourceValue(required) - URL, path, or topic stringoutputType(optional) -linkedin,article, orboth
Orchestrates:
- web_scout (if topic) or doc_parser (if URL/file) - Gather content
- scorer - Score content value (0-100)
- linkedin_writer + article_writer - Generate both formats
- voice_critic - Validate voice consistency
Returns:
- LinkedIn post + article
- Voice check results
- Scoring data
- Workflow metadata (time, tokens, steps)
Example:
Use create_content_multi_agent with inputType "topic" and sourceValue "AI pricing strategies"Legacy Tools
generate_linkedin_post- Simple LinkedIn post from URLgenerate_article- Simple article from URL
📊 Scan & Source Management Tools
Monitor intelligence sources:
trigger_scan
Manually trigger intelligence scan.
Returns:
- Success status
- Scan ID
- Message
Example:
Use trigger_scan to start a new scanget_scan_progress
Check scan status.
Returns:
- Is scanning (boolean)
- Progress percentage
- Current source
- Articles found count
Example:
Use get_scan_progress to see if scan is runningadd_source
Add new RSS/HTML source to monitor.
Parameters:
name(required) - Source nameurl(required) - RSS feed or website URLtype(required) -rssorhtml
Example:
Use add_source to add TechCrunch RSS feed📁 Resources
Read-only data access:
| Resource | Description |
|----------|-------------|
| verto://agents | Agent registry with configurations |
| verto://articles/latest | Most recent scan results |
| verto://articles/history | Historical scans (last 7 days) |
| verto://sources | List of monitored sources |
| verto://status | System status and last scan time |
Example:
Read the verto://agents resource to see agent registryUsage Examples
Research → LinkedIn Post Workflow
1. Use execute_web_scout to research "AI pricing strategies for SaaS 2024"
2. Use execute_linkedin_writer with the research results
3. Use execute_voice_critic to validate the postFull Multi-Agent Content Package
Use create_content_multi_agent with:
- inputType: "topic"
- sourceValue: "Modern data stack for marketing teams"
- outputType: "both"
Returns: LinkedIn post + article + scoring + voice checkCustomize Agent Behavior
1. Use get_agent_prompt for agentName "linkedin_writer" to see current prompt
2. Use test_agent_prompt to try a more aggressive version
3. If satisfied, use update_agent_prompt to activate itEnvironment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| VERTO_API_URL | Yes | URL of your Verto Intel Bot instance |
| VERTO_ADMIN_PASSWORD | Yes | Admin password for API authentication |
Response Format
All agent tools return formatted markdown for readability:
# Agent Execution: web_scout
✅ **Success**
## Output
{
"sources": [...],
"key_facts": [...],
"content_angles": [...]
}
## Metadata
- **Execution Time:** 77000ms
- **Tokens Used:** 11934
- **Prompt Version:** 1Architecture
Claude Desktop
↓
MCP Server (stdio)
↓
HTTP Client (VertoAPIClient)
↓
Main Bot API (/api/agents/*)
↓
Agent Registry → BaseAgent → LLM ProvidersKey Components
src/index.ts- MCP server main entry point (580 lines)src/types.ts- TypeScript interfaces for all tools (20+ interfaces)src/utils/api-client.ts- HTTP client for main bot communicationsrc/tools/agent-tools.ts- Tool schema definitions (11 agent tools)src/tools/agent-handlers.ts- Tool handlers with markdown formatting
Development
# Clone the repo
git clone https://github.com/alexTNI/verto-intel-bot.git
cd verto-intel-bot/mcp-server
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Type checking
npm run type-checkTroubleshooting
"Connection refused"
- Ensure main bot is running on
VERTO_API_URL - Check firewall settings
"Authentication required"
- Set
VERTO_ADMIN_PASSWORDenvironment variable - Verify password matches main bot's
ADMIN_PASSWORD
"Agent not found"
- Use
list_agentsto see available agents - Verify main bot has initialized agents
Tools not appearing in Claude Desktop
- Rebuild MCP server:
npm run build - Check config path in
claude_desktop_config.json - Restart Claude Desktop
- Check logs:
~/Library/Logs/Claude/mcp*.log
License
MIT
