aico (suhail-akhtar/aico) is an MCP server listed on the M8ven Trust Index. It scores 73 out of 100, grade C. It declares 68 tools. No publisher has claimed this listing.

C
Warning
73/100

aico

Open-source AI coding agent for the terminal and a local web workspace. Bring your own key — Claude, GPT, Gemini, DeepSeek, GLM or local Ollama. Opens what it builds in a real browser, supervises background work, and runs as an MCP server.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

suhail-akhtar

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
1 flow detected: GEMINI_API_KEY. We can’t prove the destination matches the brand the credential belongs to.
🚨
Reads files from sensitive locations
Touches: .env
🔐
You'll be asked for 11 credentials: ANTHROPIC_API_KEY, DEEPSEEK_API_KEY, GEMINI_API_KEY, GITHUB_TOKEN, GOOGLE_API_KEY, KIMI_API_KEY, MOONSHOT_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, SERPAPI_KEY, ZAI_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes68 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

BackgroundTask
McpManage
aico_submit
aico_status
aico_wait
aico_stop
aico_ack
aico_sessions
google_search

Search Google for information on any topic

fetch_url

Fetch and extract content from a specific URL

duckduckgo_search

Search DuckDuckGo for information (privacy-friendly)

McpAddServer
McpRemoveServer

Remove an MCP server from .aico/settings.local.json and reload the MCP registry.

McpReloadServers

Reload MCP servers from settings and report loaded tools/resources.

ListMcpResources

List all resources available from configured MCP servers.

ReadMcpResource

Read the content of a specific MCP resource by URI.

CronCreate
CronDelete

Delete a scheduled cron job by ID.

CronList

List all scheduled cron jobs.

CronPause

Pause a scheduled cron job (it will not run until resumed).

CronResume

Resume a paused cron job.

AgentCreate

Create or update a reusable AICO agent spec with role, goals, skills, tools, XML system prompt, and report format.

AgentList

List built-in and custom AICO agents available to the current project.

AgentRead

Read a full AICO agent spec including XML system prompt, skills, tools, and report contract.

AgentPrompt

Build the XML prompt for chatting with one agent on a task. The caller should execute or send this prompt next.

AskUserQuestion
Bash
Checkpoint
CodebaseMap
ContextWindow
Edit

Replace the first (and only) occurrence of old_str with new_str in a file. Errors if the string is not found or appears multiple times.

Git
Glob

Find files matching a glob pattern.

Grep

Search file contents using a regex pattern, returning matching lines with file and line number.

Investigate
Knowledge
LS

List the contents of a directory.

AgentManage
MemoryManage
AppManage
NotebookEdit

Edit Jupyter notebook (.ipynb) cells. Supports replace, insert, and delete operations on individual cells by 0-based index.

ProposePlan
Pwd

Gets the current working directory.

ReadAttachment

Read an uploaded PDF, DOCX, XLSX, CSV, TXT, or Markdown attachment by its server-provided path. Use XLSX sheet and row bounds to inspect a spreadsheet in slices.

Read

Read the contents of a file, optionally limited to a range of lines.

RunChecks
Skill
Supervise
Task
Terminal
TodoRead

Read the current todo list from .aico-todos.json in the user home directory.

TodoWrite

Write (replace) the todo list in .aico-todos.json.

VerifyApp
VSCodeDiagnostics
VSCodeTasks
VSCodeWorkspace
WebFetch

Fetch the content of a URL and return it as text.

WebSearch

Search the web using DuckDuckGo and return results with titles, URLs, and snippets. Use WebFetch on result URLs to read full content.

WidgetSpec
WorkspaceInfo

Show the current AICO project/session workspace paths for artifacts, reports, logs, and scratch files.

WorkspaceSetPath

Configure the project workspace path. Use an absolute path or project-relative path. Omit path to reset to the home-based default workspace.

WorkspaceWrite

Write an artifact, report, log, or scratch file inside the AICO workspace. Path is always relative to the selected workspace scope.

WorkspaceRead

Read a UTF-8 text file from the AICO workspace. Path is relative to the selected workspace scope.

WorkspaceList

List files under the AICO workspace session or common scope.

CapabilityReport

Report AICO current capabilities: tools, slash commands, workspace, settings, MCP servers, and execution powers.

Write

Write content to a file, creating parent directories as needed.

EnterWorktree
ExitWorktree
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAICO_HOMEwork ledger — is under ~/.aico. Set to put it somewhere
🔐 secretANTHROPIC_API_KEYExplicit cache_control for ~90% input savings
🔐 secretDEEPSEEK_API_KEYFirst-party V4; cache hits at ~1/50th of a miss
🔐 secretGEMINI_API_KEYVia the OpenAI-compatible endpoint
🔐 secretGITHUB_TOKEN
🔐 secretGOOGLE_API_KEY
🔐 secretKIMI_API_KEY
🔐 secretMOONSHOT_API_KEYKimi K3, K2.7 Code, K2.6; reasoning replayed; automatic caching
🔐 secretOPENAI_API_KEYIncludes the /v1/responses transport — see below
🔐 secretOPENROUTER_API_KEYRoutes any model; sticky session routing for cache warmth
🔐 secretSERPAPI_KEY
🔐 secretZAI_API_KEYImplicit caching; Coding Plan endpoint supported
// quality suggestions

Dependencies

17 runtime dependencies (18 dev), 1 flagged: playwright-core

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

68/68 tools missing one or more hints — BackgroundTask (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); McpManage (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); aico_submit (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +65 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

51/68 tools referenced in tests (75%)

Write tests that reference each tool by name so every tool has at least one test.

No access to sensitive paths

Reads sensitive paths: .env

Remove reads of sensitive system paths. If you genuinely need them, document why in the README.

Secrets stay with their owner

1 secret sent to a request target we could not resolve (GEMINI_API_KEY → dynamic) — often a configured endpoint, not necessarily third-party

Audit where credentials are sent. A NOTION_TOKEN should only reach api.notion.com — never a third-party host.

Dependency freshness

1/17 production deps stale: ink-text-input@2024-05-21 (2.3y)

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/suhail-akhtar/aico?variant=verified)](https://m8ven.ai/mcp/suhail-akhtar/aico)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: d94eaa7bcb80ae918400c2d9b060183b0e71c243
code hash: c7518a4b33622758dd252b37a3d9a7210fd7bc92c61faff4fc2c5de150b57027
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client