Skip to main content

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

VariableDescriptionDefault
BROWSE_MCP_DOWNLOAD_PATHDirectory for saving downloaded content./downloads
BROWSE_MCP_ENABLED_SOURCESEnabled data sources (comma-separated)All
BROWSE_MCP_DISABLED_SOURCESDisabled 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_SOURCES is set, it takes precedence
  • If only BROWSE_MCP_DISABLED_SOURCES is 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

VariableServiceHow to Obtain
SEMANTIC_SCHOLAR_API_KEYSemantic ScholarGet API Key
CORE_API_KEYCOREGet API Key
IEEE_API_KEYIEEE XploreGet API Key
SCOPUS_API_KEYScopusGet API Key
SPRINGER_API_KEYSpringer LinkGet API Key
SCIENCEDIRECT_API_KEYScienceDirectGet API Key
WOS_API_KEYWeb of ScienceRequires institutional subscription

Plugin API Keys (Social Media)

VariableServiceHow to Obtain
GITHUB_TOKENGitHubPersonal Access Token
TWITTER_BEARER_TOKENTwitter/XTwitter Developer Platform
ZHIHU_API_KEYZhihuContact platform
XIAOHONGSHU_API_KEYXiaohongshuContact 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 with SEMANTIC_SCHOLAR_API_KEY
  • core - Requires CORE_API_KEY
  • github - 60 requests/hour without key, 5000 requests/hour with key

Paid Data Sources (require API key):

  • ieee - Requires IEEE_API_KEY
  • scopus - Requires SCOPUS_API_KEY
  • springer - Requires SPRINGER_API_KEY
  • sciencedirect - Requires SCIENCEDIRECT_API_KEY
  • wos - Requires WOS_API_KEY and institutional subscription
  • twitter - Requires TWITTER_BEARER_TOKEN

Available Data Source Names

Built-in Academic Data Sources

Data Source NameTypeDescription
arxivFreePhysics, math, computer science preprints
pubmedFreeMEDLINE biomedical literature
pmcFreePubMed Central full-text repository
biorxivFreeBiology preprint server
medrxivFreeHealth sciences preprint server
google_scholarFreeGoogle Scholar search
iacrFreeIACR cryptography preprints
semanticFreeSemantic Scholar (optional API key)
crossrefFreeCrossRef DOI metadata
coreFreeCORE open access (requires API key)
ieeePaidIEEE Xplore digital library
scopusPaidElsevier Scopus database
springerPaidSpringer publications
sciencedirectPaidElsevier ScienceDirect
wosPaidWeb of Science
acmPaidACM Digital Library
jstorPaidJSTOR archive
researchgateFreeResearchGate social network

Plugin Data Sources (Social Media)

These data sources require installing browse-mcp-plugin-social-media:

Data Source NameTypeDescription
githubFreeGitHub repositories and code
twitterPaidTwitter/X posts (requires API key)
zhihuFreeZhihu Q&A articles
xiaohongshuFreeXiaohongshu 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:

  1. Check if it's in BROWSE_MCP_DISABLED_SOURCES
  2. Check if BROWSE_MCP_ENABLED_SOURCES is set and includes the data source
  3. For paid data sources, verify the API key is set
  4. 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_KEY for 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_TOKEN to increase from 60 requests/hour to 5000 requests/hour

Downloaded Files Missing

If downloaded files are missing:

  1. Check if BROWSE_MCP_DOWNLOAD_PATH is writable
  2. Verify the directory exists or can be created
  3. Check error messages in the response

Plugin Not Loading

If plugin data sources are unavailable:

  1. Verify the plugin is installed: pip list | grep browse-mcp
  2. Check for loading errors: browse-mcp --debug
  3. Verify entry points: python -c "from stevedore import ExtensionManager; print([e.name for e in ExtensionManager('browse_mcp.searchers')])"

Next Steps