Skip to main content

Plugin Configuration

This page covers configuration options for Viben plugins, including environment variables, data source control, and API keys.

Environment Variables

Core Variables

These variables apply to all data sources (built-in and plugins):

VariableDescriptionDefault
BROWSE_MCP_DOWNLOAD_PATHDirectory for downloaded content./downloads
BROWSE_MCP_ENABLED_SOURCESEnabled data sources (comma-separated)All
BROWSE_MCP_DISABLED_SOURCESDisabled data sources (comma-separated)None

Data Source Control

Enable Only Specific Data Sources

Use BROWSE_MCP_ENABLED_SOURCES to create a whitelist:

export BROWSE_MCP_ENABLED_SOURCES="arxiv,pubmed,github,twitter"

Only the listed data sources will be available. All other data sources (including those from plugins) will be disabled.

Disable Specific Data Sources

Use BROWSE_MCP_DISABLED_SOURCES to create a blacklist:

export BROWSE_MCP_DISABLED_SOURCES="ieee,scopus,zhihu,xiaohongshu"

All data sources except the listed ones will be available.

Priority Rules

  1. If BROWSE_MCP_ENABLED_SOURCES is set, it takes precedence (whitelist mode)
  2. If only BROWSE_MCP_DISABLED_SOURCES is set, it acts as a blacklist
  3. If neither is set, all installed data sources are enabled

Plugin-Specific API Keys

Social Media Plugin

VariableServiceHow to Obtain
GITHUB_TOKENGitHubPersonal Access Token
TWITTER_BEARER_TOKENTwitter/XTwitter Developer Platform
ZHIHU_API_KEYZhihuContact platform
XIAOHONGSHU_API_KEYXiaohongshuContact platform

Academic Data Sources

VariableServiceHow to Obtain
SEMANTIC_SCHOLAR_API_KEYSemantic ScholarSemantic Scholar API
CORE_API_KEYCORECORE API
IEEE_API_KEYIEEE XploreIEEE Developer
SCOPUS_API_KEYScopusElsevier Developer
SPRINGER_API_KEYSpringer LinkSpringer Developer
SCIENCEDIRECT_API_KEYScienceDirectElsevier Developer

Configuration Examples

MCP Client Configuration

Claude Desktop

{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_DOWNLOAD_PATH": "/Users/you/papers",
"GITHUB_TOKEN": "ghp_your_token_here",
"TWITTER_BEARER_TOKEN": "your_bearer_token",
"SEMANTIC_SCHOLAR_API_KEY": "your_api_key"
}
}
}
}

Claude Code

In ~/.claude/mcp.json:

{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_DOWNLOAD_PATH": "./downloads",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}

Cline (VS Code)

In VS Code settings:

{
"cline.mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}

Use Case Configurations

Academic Research Only

Disable all social media data sources:

{
"mcpServers": {
"browse-mcp": {
"command": "python",
"args": ["-m", "browse_mcp"],
"env": {
"BROWSE_MCP_DISABLED_SOURCES": "github,twitter,zhihu,xiaohongshu",
"SEMANTIC_SCHOLAR_API_KEY": "your-key",
"BROWSE_MCP_DOWNLOAD_PATH": "./papers"
}
}
}
}

Social Media Focus

Enable only social media data sources:

{
"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"
}
}

Full Stack (Academic + Social)

Enable all data sources with appropriate keys:

{
"env": {
"BROWSE_MCP_DOWNLOAD_PATH": "./content",
"SEMANTIC_SCHOLAR_API_KEY": "your-key",
"GITHUB_TOKEN": "ghp_your_token",
"TWITTER_BEARER_TOKEN": "your_bearer_token"
}
}

Computer Science Research

Focus on CS-related data sources:

{
"env": {
"BROWSE_MCP_ENABLED_SOURCES": "arxiv,semantic,github,ieee,acm",
"SEMANTIC_SCHOLAR_API_KEY": "your-key",
"IEEE_API_KEY": "your-key",
"GITHUB_TOKEN": "ghp_your_token",
"BROWSE_MCP_DOWNLOAD_PATH": "./cs-research"
}
}

Hierarchical Data Source Names

Data sources can be referenced by flat or hierarchical names:

Flat NameHierarchical NameProvider
arxivacademic/arxivacademic
pubmedacademic/pubmedacademic
githubsocial/githubsocial
twittersocial/twittersocial
ieeepublisher/ieeepublisher

In environment variables, use flat names:

# Correct
export BROWSE_MCP_ENABLED_SOURCES="arxiv,github,twitter"

# Also works but not recommended
export BROWSE_MCP_ENABLED_SOURCES="academic/arxiv,social/github,social/twitter"

Debugging Configuration

Check Loaded Data Sources

Run with debug logging to see loaded data sources:

browse-mcp --debug

Output shows:

INFO Loading searcher plugins from namespace: browse_mcp.searchers
DEBUG Loaded searcher plugin: arxiv (academic/arxiv)
DEBUG Loaded searcher plugin: github (social/github)
INFO Successfully loaded 15 searcher plugins: arxiv, github, pubmed...
INFO Enabled sources: arxiv, github, pubmed...

Check Environment Variables

Verify environment variables are set:

# Unix/macOS
echo $BROWSE_MCP_ENABLED_SOURCES
echo $GITHUB_TOKEN

# Windows PowerShell
echo $env:BROWSE_MCP_ENABLED_SOURCES
echo $env:GITHUB_TOKEN

Test API Keys

Test individual API keys:

# Test GitHub token
import os
import httpx

token = os.getenv("GITHUB_TOKEN")
response = httpx.get(
"https://api.github.com/user",
headers={"Authorization": f"token {token}"}
)
print(response.json())

Troubleshooting

Data Source Not Available

  1. Check if plugin is installed:

    pip show browse-mcp-plugin-social-media
  2. Check if data source is enabled:

    • Not in BROWSE_MCP_DISABLED_SOURCES
    • In BROWSE_MCP_ENABLED_SOURCES (if set)
  3. Check for loading errors:

    browse-mcp --debug

API Key Not Working

  1. Verify environment variable is set:

    echo $GITHUB_TOKEN
  2. Check key permissions:

    • GitHub: Ensure token has required scopes
    • Twitter: Verify app has correct access level
  3. Test the key directly with a simple API call

Rate Limits

If you encounter rate limits:

  1. Add or upgrade API keys
  2. Reduce max_results in queries
  3. Add delays between searches
  4. Disable unnecessary data sources

Next Steps