-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
What specific problem does this solve?
Affected Users: All new users and existing users deploying new MCP instances
Current Behavior: Users must manually search for, select, and configure MCP services
Expected Behavior: Default configuration should auto-select and pre-configure compatible MCP services based on project requirements
Impacts:
New users spend 5-10 minutes researching proper configuration options
Projects often misconfigure services due to lack of expertise
Increased support tickets for deploying basic configurations
Slows down initial setup process by requiring additional manual steps
Additional context (optional)
Potential implementation reference
mcp_settings.json contains example configuration mapping rules
(MCP stands for Multi-Codebase Platform - our internal architecture)
example:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITHUB_TOOLSETS",
"-e",
"GITHUB_READ_ONLY",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${env:GITHUB_PERSONAL_ACCESS_TOKEN}",
"GITHUB_TOOLSETS": "",
"GITHUB_READ_ONLY": ""
},
"alwaysAllow": [
"add_comment_to_pending_review",
"add_issue_comment",
"add_sub_issue",
"assign_copilot_to_issue",
"cancel_workflow_run",
"create_and_submit_pull_request_review",
"create_branch",
"create_gist",
"create_issue",
"create_or_update_file",
"create_pending_pull_request_review",
"create_pull_request",
"create_repository",
"delete_file",
"delete_pending_pull_request_review",
"delete_workflow_run_logs",
"dismiss_notification",
"download_workflow_run_artifact",
"fork_repository",
"get_code_scanning_alert",
"get_commit",
"get_dependabot_alert",
"get_discussion",
"get_discussion_comments",
"get_file_contents",
"get_global_security_advisory",
"get_issue",
"get_issue_comments",
"get_job_logs",
"get_latest_release",
"get_me",
"get_notification_details",
"get_pull_request",
"get_pull_request_comments",
"get_pull_request_diff",
"get_pull_request_files",
"get_pull_request_reviews",
"get_pull_request_status",
"get_release_by_tag",
"get_secret_scanning_alert",
"get_tag",
"get_team_members",
"get_teams",
"get_workflow_run",
"get_workflow_run_logs",
"get_workflow_run_usage",
"list_branches",
"list_code_scanning_alerts",
"list_commits",
"list_dependabot_alerts",
"list_discussion_categories",
"list_discussions",
"list_gists",
"list_global_security_advisories",
"list_issue_types",
"list_issues",
"list_notifications",
"list_org_repository_security_advisories",
"list_pull_requests",
"list_releases",
"list_repository_security_advisories",
"list_secret_scanning_alerts",
"list_sub_issues",
"list_tags",
"list_workflow_jobs",
"list_workflow_run_artifacts",
"list_workflow_runs",
"list_workflows",
"manage_notification_subscription",
"manage_repository_notification_subscription",
"mark_all_notifications_read",
"merge_pull_request",
"push_files",
"remove_sub_issue",
"reprioritize_sub_issue",
"request_copilot_review",
"rerun_failed_jobs",
"rerun_workflow_run",
"run_workflow",
"search_code",
"search_issues",
"search_orgs",
"search_pull_requests",
"search_repositories",
"search_users",
"submit_pending_pull_request_review",
"update_gist",
"update_issue",
"update_pull_request",
"update_pull_request_branch",
"get_file_contents</tool name>\n\n{\n "owner": "agentscope-ai",\n "repo": "agentscope-runtime",\n "path": "pyproject.toml"\n}\n\n</use_mcp_tool>"
],
"disabled": true
},
"mdtoword": {
"type": "streamable-http",
"url": "https://mdtoword-service.zeabur.app/mcp",
"disabled": true,
"alwaysAllow": [
"markdown_to_docx"
]
},
"mcp-server-chart-private": {
"type": "streamable-http",
"url": "https://mcp-server-chart-private.zeabur.app/mcp",
"disabled": true,
"alwaysAllow": [
"generate_area_chart",
"generate_bar_chart",
"generate_boxplot_chart",
"generate_column_chart",
"generate_district_map",
"generate_dual_axes_chart",
"generate_fishbone_diagram",
"generate_flow_diagram",
"generate_funnel_chart",
"generate_histogram_chart",
"generate_line_chart",
"generate_liquid_chart",
"generate_mind_map",
"generate_network_graph",
"generate_organization_chart",
"generate_word_cloud_chart",
"generate_violin_chart",
"generate_venn_chart",
"generate_treemap_chart",
"generate_scatter_chart",
"generate_path_map",
"generate_pie_chart",
"generate_pin_map",
"generate_radar_chart",
"generate_sankey_chart"
]
},
"mcp-octagon": {
"url": "https://glama.ai/mcp/instances/oylrur167r/sse?token=d1d06177-f1c3-4b11-aef7-511a84fc6e48",
"disabled": true,
"alwaysAllow": [
"octagon-sec-agent",
"octagon-transcripts-agent",
"octagon-financials-agent",
"octagon-stock-data-agent",
"octagon-companies-agent",
"octagon-funding-agent",
"octagon-deals-agent",
"octagon-investors-agent",
"octagon-scraper-agent",
"octagon-deep-research-agent",
"octagon-debts-agent",
"list_tools"
]
},
"neo4j-memory": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NEO4J_URL",
"-e",
"NEO4J_USERNAME",
"-e",
"NEO4J_PASSWORD",
"mcp/neo4j-memory"
],
"env": {
"NEO4J_URL": "bolt://host.docker.internal:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "password"
},
"alwaysAllow": [
"read_graph",
"create_entities",
"create_relations",
"add_observations",
"delete_entities",
"delete_observations",
"delete_relations",
"find_nodes",
"search_nodes",
"open_nodes"
],
"disabled": true
},
"neo4j-cypher": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NEO4J_URL",
"-e",
"NEO4J_USERNAME",
"-e",
"NEO4J_PASSWORD",
"mcp/neo4j-cypher"
],
"env": {
"NEO4J_URL": "bolt://host.docker.internal:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "password"
},
"alwaysAllow": [
"get_neo4j_schema",
"read_neo4j_cypher",
"write_neo4j_cypher"
],
"disabled": true
},
"amap-amap-sse": {
"url": "https://mcp.amap.com/sse?key=383c916fe300fe9de85dda487f687a4e",
"disabled": true,
"alwaysAllow": [
"maps_direction_bicycling",
"maps_direction_driving",
"maps_direction_transit_integrated",
"maps_direction_walking",
"maps_distance",
"maps_geo",
"maps_regeocode",
"maps_ip_location",
"maps_around_search",
"maps_search_detail",
"maps_text_search",
"maps_weather"
]
},
"markitdown-mcp": {
"type": "sse",
"description": "各种文件格式转换为markdown",
"isActive": true,
"url": "https://markitdown-mcp.zeabur.app/sse",
"alwaysAllow": [
"convert_to_markdown"
],
"disabled": true
},
"aigroup-aliyunoss-mcp": {
"command": "npx",
"args": [
"-y",
"aigroup-aliyunoss-mcp",
"--stdio"
],
"env": {
"OSS_ACCESS_KEY_ID": "${env:OSS_ACCESS_KEY_ID}",
"OSS_ACCESS_KEY_SECRET": "${env:OSS_ACCESS_KEY_SECRET}",
"OSS_BUCKET": "${env:OSS_BUCKET}",
"OSS_REGION": "${env:OSS_REGION}"
},
"alwaysAllow": [
"uploadFile",
"getObjectUrl",
"deleteObject",
"deleteMultipleObjects",
"listObjects",
"copyObject",
"getObjectMeta"
],
"disabled": true
},
"pdf-reader-mcp": {
"type": "sse",
"url": "https://mcp.api-inference.modelscope.net/def68044f38c4d/sse",
"alwaysAllow": [
"read_pdf"
],
"disabled": true
},
"excel": {
"command": "cmd",
"args": [
"/c",
"npx",
"--yes",
"@negokaz/excel-mcp-server"
],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
},
"alwaysAllow": [
"excel_copy_sheet",
"excel_create_table",
"excel_describe_sheets",
"excel_read_sheet",
"excel_screen_capture",
"excel_write_to_sheet"
],
"disabled": true
},
"wolfram-llm-mcp": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@henryhawke/wolfram-llm-mcp",
"--key",
"db3aaaaa-e545-4827-a5da-5522b5846d10",
"--profile",
"rigid-falcon-8azq7x"
],
"alwaysAllow": [
"wolfram_query",
"wolfram_query_with_assumptions"
],
"disabled": true
},
"file-extractor-mcp": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@dravidsajinraj-iex/file-extractor-mcp",
"--key",
"db3aaaaa-e545-4827-a5da-5522b5846d10",
"--profile",
"rigid-falcon-8azq7x"
],
"alwaysAllow": [
"extract_metadata",
"extract_file_content"
],
"disabled": true
},
"mcp-pandoc-omni": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@Omniscience-Labs/mcp-pandoc-omni",
"--key",
"db3aaaaa-e545-4827-a5da-5522b5846d10"
],
"alwaysAllow": [
"convert-contents"
],
"disabled": true
},
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest",
"--browser=",
"--viewport-size="
],
"alwaysAllow": [
"browser_close",
"browser_resize",
"browser_console_messages",
"browser_handle_dialog",
"browser_evaluate",
"browser_file_upload",
"browser_install",
"browser_press_key",
"browser_navigate_back",
"browser_navigate_forward",
"browser_type",
"browser_network_requests",
"browser_take_screenshot",
"browser_snapshot",
"browser_navigate",
"browser_click",
"browser_drag",
"browser_hover",
"browser_select_option",
"browser_tab_list",
"browser_tab_new",
"browser_tab_select",
"browser_tab_close",
"browser_wait_for"
],
"disabled": true
},
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
],
"disabled": true,
"alwaysAllow": [
"puppeteer_screenshot",
"puppeteer_click",
"puppeteer_fill",
"puppeteer_select",
"puppeteer_hover",
"puppeteer_evaluate"
]
},
"markmap": {
"command": "npx",
"args": [
"-y",
"@jinzcdev/markmap-mcp-server"
],
"env": {
"MARKMAP_DIR": "d:/bank/markmap-output"
},
"alwaysAllow": [
"generate_mind_map"
],
"disabled": true
},
"chrome-mcp-server": {
"type": "streamable-http",
"url": "http://127.0.0.1:12306/mcp",
"alwaysAllow": [
"get_windows_and_tabs",
"chrome_navigate",
"chrome_screenshot",
"chrome_close_tabs",
"chrome_go_back_or_forward",
"chrome_get_web_content",
"chrome_click_element",
"chrome_fill_or_select",
"chrome_get_interactive_elements",
"chrome_network_request",
"chrome_network_debugger_start",
"chrome_network_debugger_stop",
"chrome_network_capture_start",
"chrome_network_capture_stop",
"chrome_keyboard",
"chrome_history",
"chrome_bookmark_search",
"chrome_bookmark_add",
"chrome_bookmark_delete",
"search_tabs_content",
"chrome_inject_script",
"chrome_send_command_to_inject_script",
"chrome_console"
],
"disabled": true
},
"windows-mcp": {
"command": "uv",
"args": [
"--directory",
"D:\Windows-MCP",
"run",
"main.py"
],
"alwaysAllow": [
"Launch-Tool",
"Powershell-Tool",
"State-Tool",
"Clipboard-Tool",
"Click-Tool",
"Type-Tool",
"Resize-Tool",
"Switch-Tool",
"Scroll-Tool",
"Drag-Tool",
"Move-Tool",
"Shortcut-Tool",
"Scrape-Tool",
"Wait-Tool",
"Key-Tool"
],
"disabled": true
},
"aigroup-video-mcp": {
"command": "python",
"args": [
"-m",
"aigroup_video_mcp.main",
"serve"
],
"env": {
"DASHSCOPE_API_KEY": "${env:DASHSCOPE_API_KEY}"
},
"alwaysAllow": [
"analyze_video",
"summarize_video",
"analyze_video_scenes",
"analyze_video_custom",
"validate_video_source"
],
"disabled": true
},
"aigroup-openai-mcp": {
"command": "npx",
"args": [
"-y",
"aigroup-openai-mcp"
],
"alwaysAllow": [
"Enterprise Insight Pro",
"FinWise Sprite",
"ProfitPulse"
],
"disabled": true,
"timeout": 600
}
}
}
Roo Code Task Links (Optional)
No response
Request checklist
- I've searched existing Issues and Discussions for duplicates
- This describes a specific problem with clear impact and context
Interested in implementing this?
- Yes, I'd like to help implement this feature
Implementation requirements
- I understand this needs approval before implementation begins
How should this be solved? (REQUIRED if contributing, optional otherwise)
Change Details:
Backend service analysis endpoint detect compatible MCP configurations
Add "Use Recommended" toggle in configuration selector UI
Create configuration mapping service using mcp_settings.json schema
Modify installation process to use configuration mapping
User Interaction Flow:
User uploads codebase
System analyzes requirements.txt, docker-compose.yml, etc.
Detects required services (PostgreSQL, Redis, etc.)
Pre-selects optimal MCP configuration option
Shows recommendation reasons in tooltip
New Behavior:
Option to "Accept Recommended Configuration" appears during setup
Configuration selector shows confidence score with each option
Selected configuration automatically populates environment variables
Installation time reduced by 40-60% for standard projects
How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)
No response
Technical considerations (REQUIRED if contributing, optional otherwise)
Frontend/UI:
Add configuration confidence indicator
Need responsive tooltip implementation for explanation text
Trade-offs and risks (REQUIRED if contributing, optional otherwise)
Alternatives Considered:
Manual configuration wizard (requires user input)
Static default configuration (less adaptive)
External plugin-based detection (increases maintenance)
Chosen Approach Justification:
JSON-based mapping provides maintainability
Built-in detection avoids external dependencies
Fallback to manual configuration ensures flexibility
Risks:
May confuse advanced users with abstraction layers
Configuration accuracy depends on comprehensiveness of mcp_settings.json
Existing projects might expect manual configuration workflow
Needs fallback when automatic selection fails/confident detection
Edge Cases:
Requirement conflicts between detected services
Custom dependencies not in existing configuration mapping
Legacy projects needing migration path
Empty or malformed configuration files
Metadata
Metadata
Assignees
Labels
Type
Projects
Status