fagan (motock/fagan) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 26 tools. No publisher has claimed this listing.

C
Emerging
74/100

fagan

Spend tokens on judgment, not typing. An MCP-native autonomous SDLC pipeline: frontier models plan and review, local models implement — engineering discipline on a $20/month budget.

Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code 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

motock

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: PLANE_API_KEY. We can’t prove the destination matches the brand the credential belongs to.
🔐
You'll be asked for 2 credentials: PIPELINE_NOTIFY_EMAIL_PASSWORD, PLANE_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// 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.
configREPO_ROOT
configMLX_SERVER_MODEL_PATH
configMLX_SERVER_PORT
configMLX_SERVER_PYTHON
configMLX_PROMPT_CACHE_SIZE
configMLX_PROMPT_CACHE_BYTES
configMLX_PROMPT_CONCURRENCY
configMLX_HEALTHCHECK_TIMEOUT_SECONDS
configMLX_MEMORY_LIMIT_MB
configPIPELINE_CLAUDE_ALLOW_PROVIDER_ENV
configPIPELINE_LOCAL_REVIEW_PROACTIVE_TRIM_THRESHOLD
configPIPELINE_LOCAL_ENDPOINT
configPIPELINE_LOCAL_NUM_CTX
configPIPELINE_LOCAL_DISPATCH_TIMEOUT_SECONDS
configPIPELINE_LOCAL_MAX_STEPS
configPIPELINE_LOCAL_TEMPERATURE
configPIPELINE_LOCAL_REVIEW_MAX_STEPS
configPIPELINE_LOCAL_CHAT_MAX_ATTEMPTS
configPIPELINE_LOCAL_CHAT_RETRY_BACKOFF
configPIPELINE_CLOUD_MAX_STEPS
configPIPELINE_LOCAL_MIN_FREE_MEMORY_MB
configPIPELINE_CHAT_API_BASE
configPIPELINE_CHAT_MAX_TURNS
configFAILURE_MODES_DATASET_PATH
configPIPELINE_AGENT_HARNESS
configPIPELINE_LOCAL_PROVIDERMLX (=mlx) — Apple Silicon only. Local dispatch
configPIPELINE_LOCAL_MODEL_DEFAULT
configPIPELINE_CLOUD_NUM_CTX
configPIPELINE_LOCAL_THINK
configPIPELINE_SKIP_ENV_FILE
configPIPELINE_BACKEND_DISPATCHollama opts the dispatch role into Ollama.
configPIPELINE_REWORK_ON_CI_FAIL
configPIPELINE_MERGE_CI_GATE
configPIPELINE_MERGE_CI_TIMEOUT
configPIPELINE_MERGE_BUILD_GATE
configPIPELINE_REVERIFY_FULL_SUITE
configPIPELINE_PLAN_LOCK_REACQUIRE_TIMEOUT_SECONDS
configPIPELINE_AUTONOMYStart with =dry-run (plans and logs only, nothing is
configPIPELINE_RISK_THRESHOLD
configPIPELINE_DEFAULT_MODEL
configPIPELINE_PAUSE_THRESHOLD
configPIPELINE_RESUME_THRESHOLD
configPIPELINE_WEEK_PAUSE_THRESHOLD
configPIPELINE_WEEK_RESUME_THRESHOLD
configPIPELINE_USAGE_STALE_AFTER_SECONDS
configPIPELINE_WEDGE_SCAN_ENABLED
configPIPELINE_WEDGE_STALE_ACTIVITY_SECONDS
configPIPELINE_WEDGE_NOTIFY_COOLDOWN_SECONDS
configPIPELINE_DAILY_REQUEST_THRESHOLD
configPIPELINE_WEEKLY_REQUEST_THRESHOLD
configUSAGE_BLIND_PAUSE_AFTER_SECONDS
configUSAGE_BLIND_LOG_INTERVAL
configPIPELINE_MAX_CONCURRENT_AGENTS
configPIPELINE_MERGE_MAX_ATTEMPTS
configPIPELINE_DISPATCH_MAX_ATTEMPTS
configPIPELINE_DISPATCH_STARTUP_GRACE_SECONDS
configPIPELINE_DISPATCH_WATCHDOG_SECONDS
configPIPELINE_DISPATCH_STALE_ACTIVITY_SECONDS
configPIPELINE_STEP_CAP_FALLBACK_THRESHOLD
configPIPELINE_INFRA_FAILURE_FALLBACK_THRESHOLD
configPIPELINE_LOCAL_MAX_RISK
configPIPELINE_REWORK_MAX_ATTEMPTS
configPIPELINE_REWORK_MAX_ATTEMPTS_ORACLE
configPIPELINE_REWORK_MAX_ATTEMPTS_ESCALATED
configPIPELINE_REWORK_MAX_ATTEMPTS_NO_COMMIT
configPIPELINE_REVIEW_INCONCLUSIVE_MAX
configPIPELINE_PLANE_MAX_ATTEMPTS
configPIPELINE_REVIEWER_AUTO_FIX
configPIPELINE_REVIEWER_AUTO_FIX_MAX_FILES
configPIPELINE_REVIEWER_AUTO_FIX_MAX_LINES
configPIPELINE_REVIEWER_INLINE_DIFF_MAX_CHARS
configPIPELINE_SCHEDULER_PLIST_PATH
configPIPELINE_CLAUDE_JSON_PATH
configPIPELINE_DECOMPOSE_SCRATCHPAD
configPIPELINE_CORRELATION_ID
configPIPELINE_ESCALATION_BACKEND
configPIPELINE_ESCALATION_MODEL
configPIPELINE_AUTO_ESCALATE
configPIPELINE_REMOTE_EXEC_HOST
configPIPELINE_REMOTE_SYNC_ROOT
configLOCAL_AGENT_RESUME_TRANSCRIPT_PATH
configLOCAL_AGENT_EVICT_HEAD_CHARS
configLOCAL_AGENT_EVICT_KEEP_RECENT
configLOCAL_AGENT_DIGEST_MAX_CHARS
configPIPELINE_NOTIFY_EMAIL_ENABLED
configPIPELINE_NOTIFY_EMAIL_HOST
configPIPELINE_NOTIFY_EMAIL_TO
configPIPELINE_NOTIFY_EMAIL_USER
🔐 secretPIPELINE_NOTIFY_EMAIL_PASSWORD
configPIPELINE_NOTIFY_EMAIL_FROM
configPIPELINE_NOTIFY_EMAIL_PORT
configPIPELINE_NOTIFY_EMAIL_TIMEOUT
configPLAN_DIRthat never touches your real plans.
configWORKTREE_ROOT
configAGENTS_DIR
configOVERLORD_POLICY
configUSAGE_STATE_PATH
configPIPELINE_NOTIFICATIONS_MAX_BYTES
configPIPELINE_NOTIFICATIONS_KEEP
configPIPELINE_LOCAL_PLANNER_MODEL
configPIPELINE_REBRIEF_TEST_RERUN
configPIPELINE_BACKEND_DIAGNOSIS
configPIPELINE_TRIAGE_SUITE_PROBE
configPIPELINE_LOCAL_REVIEW_MODEL
configPIPELINE_REVIEW_FALLBACK
configPIPELINE_REVIEW_FALLBACK_AFTER
configPIPELINE_SANDBOX_IMAGE
configPIPELINE_ROLE_CALL_TIMEOUT_SECONDS
configPIPELINE_SCHEDULER_INTERVAL_Sdefault reconcile sweep interval (default 60 seconds).
configPIPELINE_SCHEDULER_HEALTH_PATHoptional path where the daemon writes its health JSON each iteration.
configPIPELINE_STATE_DIR
configPIPELINE_REVIEW_ON_ACCEPTANCE_FAIL
configPLANE_BASE
🔐 secretPLANE_API_KEY
configPLANE_WORKSPACE
configPLANE_PROJECT
configPIPELINE_TICKET_PROVIDER
configPIPELINE_AUTO_TRIAGE
configPIPELINE_TRIAGE_SUITE_TIMEOUT
configLOCAL_AGENT_SYSTEM
configLOCAL_AGENT_TASK
configLOCAL_AGENT_TRANSCRIPT_PATH
configLOCAL_AGENT_RESUME_APPEND_CONTENT
configLOCAL_AGENT_MODEL
configLOCAL_AGENT_ENDPOINT
configLOCAL_AGENT_PROVIDER
configPIPELINE_TRANSPORT_NUM_CTX
configLOCAL_AGENT_TIMEOUT
configPIPELINE_TRANSPORT_MAX_STEPS
configLOCAL_AGENT_REWORK_FULL_SUITE
configLOCAL_AGENT_FULL_SUITE_DONE_BAR
configLOCAL_AGENT_NO_TOOL_CAP
configLOCAL_AGENT_REWORK_SUITE_REJECT_CAP
configPIPELINE_TRANSPORT_TEMPERATURE
configLOCAL_AGENT_THINK
configLOCAL_AGENT_BASH_TIMEOUT_SECONDS
configLOCAL_AGENT_READ_SILENCE_SECONDS
configLOCAL_AGENT_CONNECT_TIMEOUT_SECONDS
configLOCAL_AGENT_CHAT_MAX_ATTEMPTS
configLOCAL_AGENT_CHAT_RETRY_BACKOFF
configLOCAL_AGENT_READ_HEAVY_WINDOW
configLOCAL_AGENT_READ_HEAVY_DISTINCT_WINDOWS
configLOCAL_AGENT_NET_PROGRESS_MAX_STEPS
configLOCAL_AGENT_SCRATCHPAD_NUDGE_STEPS
configLOCAL_AGENT_PROACTIVE_TRIM_THRESHOLD
configLOCAL_AGENT_STR_REPLACE_FAIL_ESCALATE_AFTER
configLOCAL_AGENT_PARK_ENABLED
configLOCAL_AGENT_CHURN_MAX_EDITS
configLOCAL_AGENT_ACCEPTANCE
configLOCAL_AGENT_RECOVERY_BACKOFF_SECONDS
// quality suggestions

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

26/26 tools missing one or more hints — check_usage (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_role_config (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_effective_config (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +23 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.

Secrets stay with their owner

1 secret sent to a request target we could not resolve (PLANE_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.

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 3 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 Score](https://m8ven.ai/badge/mcp/motock/fagan)](https://m8ven.ai/mcp/motock/fagan)
Shows your grade and updates automatically. Prefer no grade? Append ?variant=verified to the badge URL.
commit: 6532f305ca02ca8765f872164d11b5385710a705
code hash: 36449560ad31d4e5bc6288bbad5c1eba646f767598c2eae62b4f89372aa37ba1
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