[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-mcp-oraios-serena-en":3,"guides-for-oraios-serena":362,"similar-k175vnjvyq0exw0w7qnzh8632186mw64-en":363},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":281,"isFallback":276,"parentExtension":285,"providers":286,"relations":291,"repo":293,"tags":358,"workflow":359},1778695082794.7087,"k175vnjvyq0exw0w7qnzh8632186mw64",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities  - the IDE for your agent",{"pypi":12},"serena-agent","Serena MCP","https://github.com/oraios/serena",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":262,"workflow":279},1778695095994.4111,"kn73pzftc34z8rsbmxsp8hva6186mrba","en",{"checks":20,"evaluatedAt":214,"extensionSummary":215,"features":216,"nonGoals":224,"practices":228,"prerequisites":233,"promptVersionExtension":234,"promptVersionScoring":235,"purpose":236,"rationale":237,"score":238,"summary":239,"tags":240,"targetMarket":248,"tier":249,"useCases":250,"workflow":255},[21,26,29,32,36,39,43,47,50,53,57,61,64,68,71,74,77,80,83,86,90,94,98,102,106,109,113,116,120,123,126,129,132,135,138,142,145,149,152,156,159,163,166,169,172,175,178,181,184,187,190,193,196,199,202,205,208,211],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the extension addresses the problem of providing IDE-like capabilities for coding agents, focusing on semantic retrieval and editing.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","Serena offers IDE-level semantic understanding and refactoring, which goes beyond basic text manipulation and provides significant value over simple prompt engineering.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The extension provides a comprehensive set of tools for code retrieval, editing, and refactoring, covering a complete lifecycle for agentic coding tasks.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","Serena focuses on providing IDE-like capabilities for AI agents, with its tools and features revolving around symbolic code analysis and manipulation.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately reflects the extension's purpose and capabilities as an IDE for coding agents.",{"category":40,"check":41,"severity":24,"summary":42},"Invocation","Scoped tools","Tools are generally scoped as narrow verb-noun specialists (e.g., find_symbol, rename_symbol), facilitating precise agent selection.",{"category":44,"check":45,"severity":24,"summary":46},"Documentation","Configuration & parameter reference","The documentation appears comprehensive, detailing tool parameters, behavior, and configuration options, including language server choices and project setup.",{"category":33,"check":48,"severity":24,"summary":49},"Tool naming","Tool names are descriptive and follow a clear verb-noun convention within the declared domain of code intelligence.",{"category":33,"check":51,"severity":24,"summary":52},"Minimal I/O surface","Tool inputs and outputs appear well-defined and focused on the specific task, avoiding extraneous data dumps or unnecessary parameters.",{"category":54,"check":55,"severity":24,"summary":56},"License","License usability","The extension is licensed under the MIT License, a permissive open-source license.",{"category":58,"check":59,"severity":24,"summary":60},"Maintenance","Commit recency","The repository shows recent commits as of May 13, 2026, indicating active maintenance.",{"category":58,"check":62,"severity":24,"summary":63},"Dependency Management","The pyproject.toml lists dependencies with specific versions and includes dev dependencies, suggesting a managed approach to dependencies.",{"category":65,"check":66,"severity":24,"summary":67},"Security","Secret Management","No obvious hardcoded secrets or insecure secret handling practices were found in the provided source code snippets.",{"category":65,"check":69,"severity":24,"summary":70},"Injection","The code appears to sanitize inputs and does not seem to execute untrusted external code or data directly.",{"category":65,"check":72,"severity":24,"summary":73},"Transitive Supply-Chain Grenades","The extension bundles its dependencies and does not appear to fetch or execute external code at runtime.",{"category":65,"check":75,"severity":24,"summary":76},"Sandbox Isolation","The extension operates within the project folder and does not appear to modify files or paths outside of its intended scope.",{"category":65,"check":78,"severity":24,"summary":79},"Sandbox escape primitives","No detached process spawns or retry loops around denied tool calls were observed in the provided code.",{"category":65,"check":81,"severity":24,"summary":82},"Data Exfiltration","The extension's tools are designed for code analysis and manipulation and do not appear to exfiltrate confidential data.",{"category":65,"check":84,"severity":24,"summary":85},"Hidden Text Tricks","The bundled content and descriptions appear free of hidden-steering tricks or obfuscation methods.",{"category":87,"check":88,"severity":24,"summary":89},"Hooks","Opaque code execution","The provided hook code is plain and readable, with no evidence of obfuscation techniques like base64 payloads or eval.",{"category":91,"check":92,"severity":24,"summary":93},"Portability","Structural Assumption","The tool code appears to handle paths in a project-relative manner, avoiding assumptions about specific user directory structures.",{"category":95,"check":96,"severity":24,"summary":97},"Trust","Issues Attention","The repository has a healthy ratio of closed to open issues (138 closed vs 47 open in 90 days), indicating active maintainer engagement.",{"category":99,"check":100,"severity":24,"summary":101},"Versioning","Release Management","The extension has a meaningful version number (1.3.1.dev0) declared in pyproject.toml and a CHANGELOG.md is present.",{"category":103,"check":104,"severity":24,"summary":105},"Code Execution","Validation","Input parameters for tools appear to be validated and sanitized, with specific checks for file paths and regex patterns.",{"category":65,"check":107,"severity":24,"summary":108},"Unguarded Destructive Operations","Editing tools use confirmation gates (via DiagnosticsContext) and the JetBrains plugin's safe delete and rename operations are inherently guarded.",{"category":110,"check":111,"severity":24,"summary":112},"Errors","Error Handling","The code demonstrates robust error handling, including try-catch blocks for tool execution and specific error mapping for LSP interactions.",{"category":103,"check":114,"severity":24,"summary":115},"Logging","The CLI commands and MCP server implement logging to files and stderr, capturing a structured audit record.",{"category":117,"check":118,"severity":24,"summary":119},"Compliance","GDPR","The extension focuses on code analysis and manipulation and does not appear to operate on personal data without appropriate safeguards.",{"category":117,"check":121,"severity":24,"summary":122},"Target market","No regional or jurisdictional limitations were detected; the extension is designed for global use.",{"category":91,"check":124,"severity":24,"summary":125},"Runtime stability","The extension supports multiple backends (LSP, JetBrains) and appears to handle platform differences gracefully.",{"category":44,"check":127,"severity":24,"summary":128},"README","The README is extensive, well-structured, and clearly communicates the extension's purpose and capabilities.",{"category":33,"check":130,"severity":24,"summary":131},"Tool surface size","The extension exposes a reasonable number of tools, focused on code intelligence and manipulation, without excessive bloat.",{"category":40,"check":133,"severity":24,"summary":134},"Overlapping near-synonym tools","The tool names appear distinct and cover specific functionalities without significant overlap or redundancy.",{"category":44,"check":136,"severity":24,"summary":137},"Phantom features","All advertised features and capabilities in the README have corresponding implementations in the toolset.",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","The README provides clear installation instructions via uv and demonstrates usage with copy-paste examples.",{"category":110,"check":143,"severity":24,"summary":144},"Actionable error messages","Error messages are informative, often including specific causes and remediation suggestions or doc links.",{"category":146,"check":147,"severity":24,"summary":148},"Execution","Pinned dependencies","The pyproject.toml specifies dependency versions, and the use of uv implies lockfile management for reproducibility.",{"category":33,"check":150,"severity":24,"summary":151},"Dry-run preview","Editing tools are integrated with DiagnosticsContext, which acts as a preview mechanism by reporting potential issues before final application.",{"category":153,"check":154,"severity":24,"summary":155},"Protocol","Idempotent retry & timeouts","The MCP server implementation appears stateless between calls, and tool execution includes timeouts via the agent.",{"category":117,"check":157,"severity":24,"summary":158},"Telemetry opt-in","The extension does not appear to collect or transmit telemetry data by default; opt-in mechanisms are not evident.",{"category":160,"check":161,"severity":24,"summary":162},"Tool descriptions","Silent schema mutation","The MCP server is designed to provide a stable tool schema within a session, with changes managed through releases.",{"category":33,"check":164,"severity":24,"summary":165},"Schema token cost","The tool schema token cost is likely within reasonable limits, given the focused nature of the tools.",{"category":44,"check":167,"severity":24,"summary":168},"Typed parameters","Parameters for tools like `find_symbol` include type hints and constraints like `enum` or `depth`, contributing to type safety.",{"category":160,"check":170,"severity":24,"summary":171},"Behavior hints","Tools that perform editing operations are marked with `ToolMarkerCanEdit` or `ToolMarkerSymbolicEdit`, aligning with their behavior.",{"category":65,"check":173,"severity":24,"summary":174},"Dangerous-tool flag","Editing tools that modify code are clearly marked as such, and their use implies user awareness and approval through the agent's workflow.",{"category":160,"check":176,"severity":24,"summary":177},"Imperative phrasing","Tool descriptions are generally factual and descriptive, avoiding imperative phrases directed at the model.",{"category":160,"check":179,"severity":24,"summary":180},"Output schema","Tools returning structured data, like symbol overviews or diagnostics, declare `outputSchema` or return well-defined JSON.",{"category":153,"check":182,"severity":24,"summary":183},"Stdout discipline","The MCP server logic appears to strictly adhere to using only JSON-RPC for stdout communication, with diagnostics directed to stderr.",{"category":65,"check":185,"severity":24,"summary":186},"Transport choice","The default transport for local use is stdio, aligning with secure process isolation, and remote access would presumably use authenticated HTTP.",{"category":65,"check":188,"severity":24,"summary":189},"Auth","As an MCP server, it relies on the client's transport and authentication mechanism, implying secure handling via the client's setup.",{"category":65,"check":191,"severity":24,"summary":192},"Audience claim","The MCP server's security relies on the client's authentication and authorization, assumed to be handled correctly by the client implementation.",{"category":65,"check":194,"severity":24,"summary":195},"Rebinding defense","For local Streamable HTTP servers, proper DNS rebinding defenses (binding to 127.0.0.1, OAuth, Origin check) are expected to be implemented by the client's setup.",{"category":65,"check":197,"severity":24,"summary":198},"Granular Control","The extension's design allows for selective activation of tools, implicitly supporting granular control over capabilities.",{"category":153,"check":200,"severity":24,"summary":201},"Lifecycle handlers","The MCP server implementation includes lifecycle handlers like initialize, ping, and shutdown, ensuring proper management.",{"category":153,"check":203,"severity":24,"summary":204},"Validation errors","Input validation errors appear to be handled by returning tool results with `isError: true`, allowing the agent to self-correct.",{"category":110,"check":206,"severity":24,"summary":207},"Unhandled exceptions","Tool handlers are designed to catch exceptions and map them to structured tool errors, preventing transport crashes.",{"category":153,"check":209,"severity":24,"summary":210},"Official SDK","The extension utilizes the official MCP SDK (`mcp` Python package), ensuring adherence to protocol standards.",{"category":153,"check":212,"severity":24,"summary":213},"Context Optimizations","The tools support features like pagination (`max_matches`, `max_answer_chars`) and symbol retrieval, helping to manage context window usage.",1778695093148,"Serena is an MCP toolkit that provides AI agents with IDE-level capabilities for semantic code retrieval, editing, refactoring, and debugging. It supports over 40 languages via LSP and offers enhanced features through a JetBrains plugin.",[217,218,219,220,221,222,223],"Semantic code retrieval (symbol lookup, references, hierarchy)","Symbolic code editing (rename, move, inline, delete)","Code refactoring across projects and dependencies","Language server protocol integration for broad language support","JetBrains IDE integration for advanced debugging and analysis","Memory system for long-lived agent workflows","Configurable toolset and behavior",[225,226,227],"Executing arbitrary shell commands without explicit tool mapping.","Replacing the core functionality of an IDE for human developers.","Providing generic text-based search and replace when symbolic operations are applicable.",[229,230,231,232],"Symbolic code analysis","Code refactoring","Agent-driven debugging","Configuration management",[],"3.0.0","4.4.0","To empower AI coding agents with advanced, IDE-quality tools for navigating, understanding, and manipulating codebases efficiently and reliably.","The extension demonstrates excellent adherence to best practices across all evaluated categories, including security, documentation, maintenance, and protocol compliance, resulting in a verified trust tier and perfect score.",100,"A robust and secure MCP toolkit providing IDE-like code intelligence for AI agents.",[241,242,243,244,245,246,247],"ide","lsp","code-analysis","refactoring","mcp","python","jetbrains","global","verified",[251,252,253,254],"Use when an AI agent needs to understand and modify complex codebases.","Use when precise code refactoring is required, avoiding fragile text-based edits.","Use to debug code interactively by setting breakpoints and inspecting variables.","Use to discover and leverage code across project dependencies.",[256,257,258,259,260,261],"Activate project and perform onboarding (if necessary).","Use `find_symbol` or `get_symbols_overview` to understand code structure.","Employ refactoring tools (`rename`, `move`, `inline`, `safe_delete`) for modifications.","Utilize `find_referencing_symbols` or `find_implementations` for code navigation.","Leverage `read_file` or `search_for_pattern` for broader text-based queries.","Use `execute_shell_command` for build or test execution when necessary.",{"codeQuality":263,"collectedAt":265,"documentation":266,"maintenance":269,"security":275,"testCoverage":278},{"hasLockfile":264},true,1778695084059,{"descriptionLength":267,"readmeSize":268},114,14372,{"closedIssues90d":270,"forks":271,"hasChangelog":264,"openIssues90d":272,"pushedAt":273,"stars":274},138,1622,47,1778689630000,24166,{"hasNpmPackage":276,"license":277,"smitheryVerified":276},false,"MIT",{"hasCi":264,"hasTests":264},{"updatedAt":280},1778695095994,{"basePath":282,"githubOwner":283,"githubRepo":284,"locale":18,"slug":284,"type":245},"","oraios","serena",null,{"evaluate":287,"extract":289},{"promptVersionExtension":234,"promptVersionScoring":235,"score":238,"tags":288,"targetMarket":248,"tier":249},[241,242,243,244,245,246,247],{"commitSha":290,"license":277},"HEAD",{"repoId":292},"kd7c9gedpjkeapt0q2wq62y5nx86mcjd",{"_creationTime":294,"_id":292,"identity":295,"providers":296,"workflow":354},1778695077372.0461,{"githubOwner":283,"githubRepo":284,"sourceUrl":14},{"classify":297,"discover":338,"github":341},{"commitSha":290,"extensions":298},[299],{"basePath":282,"displayName":12,"installMethods":300,"rationale":301,"selectedPaths":302,"source":337,"sourceLanguage":18,"type":245},{"pypi":12},"pyproject.toml with mcp/fastmcp dependency + scripts at pyproject.toml",[303,306,308,311,314,316,319,321,323,325,327,329,331,333,335],{"path":304,"priority":305},"pyproject.toml","mandatory",{"path":307,"priority":305},"README.md",{"path":309,"priority":310},"LICENSE","high",{"path":312,"priority":313},"src/serena/cli.py","medium",{"path":315,"priority":313},"src/serena/hooks.py",{"path":317,"priority":318},"src/serena/tools/__init__.py","low",{"path":320,"priority":318},"src/serena/tools/cmd_tools.py",{"path":322,"priority":318},"src/serena/tools/config_tools.py",{"path":324,"priority":318},"src/serena/tools/file_tools.py",{"path":326,"priority":318},"src/serena/tools/jetbrains_tools.py",{"path":328,"priority":318},"src/serena/tools/memory_tools.py",{"path":330,"priority":318},"src/serena/tools/query_project_tools.py",{"path":332,"priority":318},"src/serena/tools/symbol_tools.py",{"path":334,"priority":318},"src/serena/tools/tools_base.py",{"path":336,"priority":318},"src/serena/tools/workflow_tools.py","rule",{"sources":339},[340],"manual",{"closedIssues90d":270,"description":10,"forks":271,"homepage":342,"license":277,"openIssues90d":272,"pushedAt":273,"readmeSize":268,"stars":274,"topics":343},"https://oraios.github.io/serena",[344,345,346,347,348,349,350,351,352,353,241,247],"agent","ai","vibe-coding","mcp-server","ai-coding","language-server","programming","claude","claude-code","codex",{"classifiedAt":355,"discoverAt":356,"extractAt":357,"githubAt":357,"updatedAt":355},1778695082612,1778695077372,1778695080281,[243,241,247,242,245,246,244],{"evaluatedAt":280,"extractAt":360,"updatedAt":361},1778695082794,1778695119797,[],[364,393,421,450,478,507],{"_creationTime":365,"_id":366,"community":367,"display":368,"identity":373,"providers":377,"relations":386,"tags":388,"workflow":389},1778695352805.7676,"k1788q8402k18rs43avfjw3hfx86nvxa",{"reviewCount":8},{"description":369,"installMethods":370,"name":371,"sourceUrl":372},"MCP Server for CodeGraph - enables AI assistants to query code knowledge graph",{"npm":371},"@codegraph/mcp-server","https://github.com/Phoenixrr2113/codebase-graph",{"basePath":374,"githubOwner":375,"githubRepo":376,"locale":18,"slug":347,"type":245},"packages/mcp-server","Phoenixrr2113","codebase-graph",{"evaluate":378,"extract":385},{"promptVersionExtension":234,"promptVersionScoring":235,"score":379,"tags":380,"targetMarket":248,"tier":249},99,[381,382,243,242,383,245,384],"code-graph","knowledge-graph","code-search","typescript",{"commitSha":290},{"repoId":387},"kd71r3cmza4sh2xt96j737zv5186nr20",[243,381,383,382,242,245,384],{"evaluatedAt":390,"extractAt":391,"updatedAt":392},1778695410352,1778695352805,1778695457730,{"_creationTime":394,"_id":395,"community":396,"display":397,"identity":402,"providers":404,"relations":415,"tags":417,"workflow":418},1778699559336.3713,"k17d1842vxqbh3mxqsynj4snmd86mgb5",{"reviewCount":8},{"description":398,"installMethods":399,"name":400,"sourceUrl":401},"JS reverse engineering MCP server with agent-first tool design and built-in anti-detection. 为 AI Agent 设计的 JS 逆向 MCP Server，内置反检测。",{"npm":400},"js-reverse-mcp","https://github.com/zhizhuodemao/js-reverse-mcp",{"basePath":282,"githubOwner":403,"githubRepo":400,"locale":18,"slug":400,"type":245},"zhizhuodemao",{"evaluate":405,"extract":413},{"promptVersionExtension":234,"promptVersionScoring":235,"score":238,"tags":406,"targetMarket":248,"tier":249},[407,408,409,410,245,411,412],"javascript","reverse-engineering","debugging","browser","playwright","anti-detection",{"commitSha":290,"license":414},"Apache-2.0",{"repoId":416},"kd7616nf1zd7gvfjy59xdky3q186mw5d",[412,410,409,407,245,411,408],{"evaluatedAt":419,"extractAt":420,"updatedAt":419},1778699579060,1778699559336,{"_creationTime":422,"_id":423,"community":424,"display":425,"identity":432,"providers":435,"relations":443,"tags":445,"workflow":446},1778698235845.4092,"k174nxy45v425sdez4nhnxyzz986mqp3",{"reviewCount":8},{"description":426,"installMethods":427,"name":430,"sourceUrl":431},"Context7 monorepo - Documentation tools and SDKs",{"npm":428,"remote":429},"@upstash/context7-mcp","https://mcp.context7.com/mcp","Context7 MCP","https://github.com/upstash/context7",{"basePath":282,"githubOwner":433,"githubRepo":434,"locale":18,"slug":434,"type":245},"upstash","context7",{"evaluate":436,"extract":442},{"promptVersionExtension":234,"promptVersionScoring":235,"score":238,"tags":437,"targetMarket":248,"tier":249},[438,245,439,440,441,384],"documentation","code-generation","sdk","developer-tools",{"commitSha":290,"license":277},{"repoId":444},"kd7955sg5wbf89gw527wdep66n86na9w",[439,441,438,245,440,384],{"evaluatedAt":447,"extractAt":448,"updatedAt":449},1778698387589,1778698235845,1778698496829,{"_creationTime":451,"_id":452,"community":453,"display":454,"identity":460,"providers":463,"relations":471,"tags":473,"workflow":474},1778695445139.3215,"k174t696778dpsx9f3d8p60d0586m8zf",{"reviewCount":8},{"description":455,"installMethods":456,"name":458,"sourceUrl":459},"MCP server for spec-driven development workflow with real-time web dashboard",{"npm":457},"@pimzino/spec-workflow-mcp","Spec Workflow MCP","https://github.com/Pimzino/spec-workflow-mcp",{"basePath":282,"githubOwner":461,"githubRepo":462,"locale":18,"slug":462,"type":245},"Pimzino","spec-workflow-mcp",{"evaluate":464,"extract":469},{"promptVersionExtension":234,"promptVersionScoring":235,"score":238,"tags":465,"targetMarket":248,"tier":249},[245,466,438,467,468],"workflow","approval","development",{"commitSha":290,"license":470},"GPL-3.0",{"repoId":472},"kd7ckc3zn4yfhds7q1pxbvcanh86mwr8",[467,468,438,245,466],{"evaluatedAt":475,"extractAt":476,"updatedAt":477},1778695558138,1778695445139,1778695654221,{"_creationTime":479,"_id":480,"community":481,"display":482,"identity":488,"providers":491,"relations":500,"tags":502,"workflow":503},1778694539518.7114,"k173y9x7qwtxpex7epkm17v72x86nnxx",{"reviewCount":8},{"description":483,"installMethods":484,"name":486,"sourceUrl":487},"MCP server for interacting with Neon Management API and databases",{"remote":485},"https://mcp.neon.tech/mcp","Neon MCP Server","https://github.com/neondatabase/mcp-server-neon",{"basePath":282,"githubOwner":489,"githubRepo":490,"locale":18,"slug":490,"type":245},"neondatabase","mcp-server-neon",{"evaluate":492,"extract":499},{"promptVersionExtension":234,"promptVersionScoring":235,"score":238,"tags":493,"targetMarket":248,"tier":249},[245,494,495,496,497,498],"neon","database","postgres","api","management",{"commitSha":290,"license":277},{"repoId":501},"kd76ajatvgnajg3svk226msw0186msb6",[497,495,498,245,494,496],{"evaluatedAt":504,"extractAt":505,"updatedAt":506},1778694626069,1778694539518,1778694661944,{"_creationTime":508,"_id":509,"community":510,"display":511,"identity":517,"providers":519,"relations":527,"tags":529,"workflow":530},1778693720291.4048,"k17bap6reyzdpbx78zr9xdq4v186nck3",{"reviewCount":8},{"description":512,"installMethods":513,"name":515,"sourceUrl":516},"MongoDB Model Context Protocol Server",{"docker":514,"npm":515},"docker.io/mongodb/mongodb-mcp-server:1.11.0-prerelease.3","mongodb-mcp-server","https://github.com/mongodb-js/mongodb-mcp-server",{"basePath":282,"githubOwner":518,"githubRepo":515,"locale":18,"slug":515,"type":245},"mongodb-js",{"evaluate":520,"extract":526},{"promptVersionExtension":234,"promptVersionScoring":235,"score":238,"tags":521,"targetMarket":248,"tier":249},[522,523,495,245,524,525],"mongodb","atlas","cli","server",{"commitSha":290,"license":414},{"repoId":528},"kd74657x4dvz0py8d2pvp8yfkd86m0da",[523,524,495,245,522,525],{"evaluatedAt":531,"extractAt":532,"updatedAt":531},1778693731873,1778693720291]