frontend-mcp
Allows running a Browser Use agent with optional code graph hints using Amazon Bedrock Nova models for browser automation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@frontend-mcpopen the settings page and check the theme option"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Frontend Perception Engine (CRG as Optional Library)
This project implements a frontend navigation layer where:
Browser Use stays the browser automation engine.
Code Review Graph (CRG) is used only as an optional knowledge source.
Browser execution continues even when CRG is unavailable.
Architecture
Cursor / Claude
↓
Our MCP
↓
Frontend Navigation Layer
↓
Browser Use
↓
BrowserCRG is integrated behind ICodeGraph, so it can be replaced later by another backend such as FrontendInteractionGraph without changing Browser Use orchestration.
Related MCP server: Runbook AI MCP Server
Dependency Integration
CRG is integrated as a dependency (not forked, not modified):
code-review-graph>=2.3.6browser-use>=0.13.3
Install:
pip install -e .Frontend Perception MCP (No LLM in Server)
The MCP server is deterministic runtime only (browser observation + actions + verify).
Your coding agent (Cursor/Claude/Codex) remains the brain.
Install
Both PyPI names install the same MCP server:
Package | Install |
|
|
|
|
Recommended (quiet output + next steps):
uvx --from frontend-perception-engine frontend-perception-installOr the shorter alias name:
uvx --from frontend-mcp frontend-mcp-installWith Chromium for Browser Use:
uvx --from frontend-perception-engine frontend-perception-install --with-browserDevelopment install from this repo:
python -m navigation.cli.install --editable .Or classic pip:
pip install frontend-perception-engineRun MCP server
Using module entrypoint:
python -m navigation.mcpUsing script entrypoint:
frontend-perception-mcpUsing uvx (no local install in current environment):
uvx --from frontend-perception-engine frontend-perception-mcp
# or
uvx --from frontend-mcp frontend-mcpCursor MCP config
{
"mcpServers": {
"frontend-perception": {
"command": "python",
"args": ["-m", "navigation.mcp"],
"env": {
"PYTHONPATH": "C:/Users/usman/Projects/frontend-perception-engine/src"
}
}
}
}Runtime prerequisites
Start the sandbox app:
cd sandbox && npm run devDefault URL used by tests/tools:
http://localhost:5173No API keys are required to run the MCP path itself
Platform documentation
Architecture, roadmap, tool reference, and feature subsystem docs: docs/README.md.
CRG Documentation and Public API Notes
The integration uses CRG public tool functions from:
code_review_graph.tools.build.build_or_update_graphcode_review_graph.tools.query.query_graphcode_review_graph.tools.query.semantic_search_nodescode_review_graph.tools.query.get_impact_radiuscode_review_graph.tools.query.list_graph_statscode_review_graph.tools.query.traverse_graph_func
Graph lifecycle
Initialize graph (incremental/minimal):
build_or_update_graph(full_rebuild=False, postprocess="minimal")Refresh graph (incremental):
build_or_update_graph(full_rebuild=False)Rebuild graph (full):
build_or_update_graph(full_rebuild=True)
Incremental indexing
CRG incremental path is handled by incremental_update under the hood and can detect changed files from VCS (base=HEAD~1 by default).
Watch mode
CRG supports continuous updates via:
CLI:
code-review-graph watchAPI internals:
code_review_graph.incremental.watchandstart_watch_thread
This wrapper does not require watch mode, but is compatible with repositories kept fresh by CRG watch/daemon.
Querying
Pattern queries (neighbors/file relationships):
query_graphSearch (hybrid semantic + keyword):
semantic_search_nodesBlast radius / route impact:
get_impact_radiusTraversal/path-like exploration:
traverse_graph_funcStats/health:
list_graph_stats
Wrapper Layer
All CRG coupling is isolated in:
src/navigation/codeGraph/
Public contract:
initialize()refresh()rebuild()search()shortest_path()get_neighbors()get_component()get_file()get_route()query()
Future-oriented methods are already represented on ICodeGraph:
findNavigationHint(...)style equivalent viafind_navigation_hint(...)find_relevant_components(...)find_likely_route(...)find_related_files(...)find_button_candidates(...)find_component_hierarchy(...)find_entry_point(...)
Browser Use Integration
BrowserUseNavigator provides a lightweight dry-run timeline for tests.
PerceptionAgentRunner runs a real Browser Use agent with optional graph hints injected via extend_system_message. Graph output is never a mandatory stage — if CRG or AWS credentials are missing, the agent either skips hints or reports a clear error.
Live agent (Bedrock Nova)
Start the sandbox:
cd sandbox && npm run devConfigure AWS (copy
.env.example→.env):
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
BEDROCK_MODEL=amazon.nova-pro-v1:0
SANDBOX_URL=http://localhost:5173Install AWS extra and run:
pip install -e ".[aws]"
python src/run_agent.py --task "Add Pulse Watch to cart and complete checkout"Dry-run (graph hints only, no browser):
python src/run_agent.py --dry-run --task "Log in as admin and open admin report"Flags:
--no-graph— disable CRG hints--headless— headless browser--max-steps 25— step limit--url http://localhost:5174— custom sandbox URL
Demo
Run:
python src/demo.pyExpected behavior:
Browser Use execution starts.
Optional code graph query is attempted.
Browser Use continues regardless of query success.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Usmansayed/frontend-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server