MCP Configuration
Viben: Agent Swarm x Code Evolution
Viben is an AI-driven code iteration optimization and agent swarm orchestration platform. The MCP server is a key component of the platform, providing knowledge acquisition capabilities for Agent Swarm:
- FileEvo - Acquire best practices through academic papers and technical documentation to optimize code iteration
- Idea Generation - Gather inspiration from diverse data sources to spark innovative ideas
- Agent Swarm - Agent swarms can uniformly call MCP tools for knowledge search
Environment Variable Configuration
The Viben MCP server can be configured through environment variables. This page covers all available configuration options.
Environment Variables Overview
| Variable | Description | Default |
|---|---|---|
BROWSE_MCP_DOWNLOAD_PATH | Directory for saving downloaded content | ./downloads |
BROWSE_MCP_ENABLED_SOURCES | Enabled data sources (comma-separated) | All |
BROWSE_MCP_DISABLED_SOURCES | Disabled data sources (comma-separated) | None |
Download Path
Set the directory for saving downloaded content:
{
"env": {
"BROWSE_MCP_DOWNLOAD_PATH": "/path/to/downloads"
}
}
If the directory does not exist, it will be created automatically.
Data Source Control
Data source control applies to all sources, including those provided by plugins.
Enable Only Specific Data Sources
Use BROWSE_MCP_ENABLED_SOURCES to create a whitelist:
{
"env": {
"BROWSE_MCP_ENABLED_SOURCES": "arxiv,pubmed,semantic,github"
}
}
Only the listed data sources will be available. This works for both built-in and plugin data sources.
Disable Specific Data Sources
Use BROWSE_MCP_DISABLED_SOURCES to create a blacklist:
{
"env": {
"BROWSE_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,twitter"
}
}
All data sources except those listed will be available.
Priority Rules
- If
BROWSE_MCP_ENABLED_SOURCESis set, it takes precedence - If only
BROWSE_MCP_DISABLED_SOURCESis set, all except listed sources are enabled - If neither is set, all data sources are enabled by default
:::tip Recommended Configuration
For most users, use BROWSE_MCP_DISABLED_SOURCES to disable paid data sources that require API keys:
{
"env": {
"BROWSE_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor"
}
}
:::
API Keys
Academic Data Source API Keys
| Variable | Service | How to Obtain |
|---|---|---|
SEMANTIC_SCHOLAR_API_KEY | Semantic Scholar | Get API Key |
CORE_API_KEY | CORE | Get API Key |
IEEE_API_KEY | IEEE Xplore | Get API Key |
SCOPUS_API_KEY | Scopus | Get API Key |
SPRINGER_API_KEY | Springer Link | Get API Key |
SCIENCEDIRECT_API_KEY | ScienceDirect | Get API Key |
WOS_API_KEY | Web of Science | Requires institutional subscription |
Plugin API Keys (Social Media)
| Variable | Service | How to Obtain |
|---|---|---|
GITHUB_TOKEN | GitHub | Personal Access Token |
TWITTER_BEARER_TOKEN | Twitter/X | Twitter Developer Platform |
ZHIHU_API_KEY | Zhihu | Contact platform |
XIAOHONGSHU_API_KEY | Xiaohongshu | Contact platform |
Free vs Paid Data Sources
Free Data Sources (no API key required):
- arxiv, pubmed, pmc, biorxiv, medrxiv
- google_scholar, iacr, crossref, researchgate
- github (with rate limits)
Free but Optional API Key (higher limits with key):
semantic- Works without key, higher limits withSEMANTIC_SCHOLAR_API_KEYcore- RequiresCORE_API_KEYgithub- 60 requests/hour without key, 5000 requests/hour with key
Paid Data Sources (require API key):
ieee- RequiresIEEE_API_KEYscopus- RequiresSCOPUS_API_KEYspringer- RequiresSPRINGER_API_KEYsciencedirect- RequiresSCIENCEDIRECT_API_KEYwos- RequiresWOS_API_KEYand institutional subscriptiontwitter- RequiresTWITTER_BEARER_TOKEN
Available Data Source Names
Built-in Academic Data Sources
| Data Source Name | Type | Description |
|---|---|---|
arxiv | Free | Physics, math, computer science preprints |
pubmed | Free | MEDLINE biomedical literature |
pmc | Free | PubMed Central full-text repository |
biorxiv | Free | Biology preprint server |
medrxiv | Free | Health sciences preprint server |
google_scholar | Free | Google Scholar search |
iacr | Free | IACR cryptography preprints |
semantic | Free | Semantic Scholar (optional API key) |
crossref | Free | CrossRef DOI metadata |
core | Free | CORE open access (requires API key) |
ieee | Paid | IEEE Xplore digital library |
scopus | Paid | Elsevier Scopus database |
springer | Paid | Springer publications |
sciencedirect | Paid | Elsevier ScienceDirect |
wos | Paid | Web of Science |
acm | Paid | ACM Digital Library |
jstor | Paid | JSTOR archive |
researchgate | Free | ResearchGate social network |
Plugin Data Sources (Social Media)
These data sources require installing browse-mcp-plugin-social-media:
| Data Source Name | Type | Description |
|---|---|---|
github | Free | GitHub repositories and code |
twitter | Paid | Twitter/X posts (requires API key) |
zhihu | Free | Zhihu Q&A articles |
xiaohongshu | Free | Xiaohongshu posts |
Configuration Examples
Minimal Configuration (Free Sources Only)
{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
With Semantic Scholar API Key
{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your-api-key-here",
"BROWSE_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
Academic + Social Media
{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your-key",
"GITHUB_TOKEN": "ghp_your_github_token",
"BROWSE_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
Research Focus (Medical/Biology)
{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_ENABLED_SOURCES": "pubmed,pmc,biorxiv,medrxiv,semantic",
"SEMANTIC_SCHOLAR_API_KEY": "your-key",
"BROWSE_MCP_DOWNLOAD_PATH": "./medical-papers"
}
}
}
}
Computer Science Focus
{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_ENABLED_SOURCES": "arxiv,semantic,ieee,acm,github",
"SEMANTIC_SCHOLAR_API_KEY": "your-key",
"IEEE_API_KEY": "your-key",
"GITHUB_TOKEN": "ghp_your_token",
"BROWSE_MCP_DOWNLOAD_PATH": "./cs-papers"
}
}
}
}
Social Media Only
{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_ENABLED_SOURCES": "github,twitter,zhihu",
"GITHUB_TOKEN": "ghp_your_token",
"TWITTER_BEARER_TOKEN": "your_bearer_token",
"BROWSE_MCP_DOWNLOAD_PATH": "./social-content"
}
}
}
}
Troubleshooting
Data Source Unavailable
If a data source is unavailable:
- Check if it's in
BROWSE_MCP_DISABLED_SOURCES - Check if
BROWSE_MCP_ENABLED_SOURCESis set and includes the data source - For paid data sources, verify the API key is set
- For plugin data sources, verify the plugin is installed:
pip show browse-mcp-plugin-social-media
API Rate Limits
If you encounter rate limits:
- Semantic Scholar: Add
SEMANTIC_SCHOLAR_API_KEYfor higher limits - CORE: Get a free API key from core.ac.uk
- Google Scholar: May be rate limited; use other data sources as alternatives
- GitHub: Add
GITHUB_TOKENto increase from 60 requests/hour to 5000 requests/hour
Downloaded Files Missing
If downloaded files are missing:
- Check if
BROWSE_MCP_DOWNLOAD_PATHis writable - Verify the directory exists or can be created
- Check error messages in the response
Plugin Not Loading
If plugin data sources are unavailable:
- Verify the plugin is installed:
pip list | grep browse-mcp - Check for loading errors:
browse-mcp --debug - Verify entry points:
python -c "from stevedore import ExtensionManager; print([e.name for e in ExtensionManager('browse_mcp.searchers')])"
Next Steps
- Client Configuration - Configure MCP client
- browse_search Tool - Learn search parameters
- Plugin Configuration - Advanced plugin settings