Leghis Smart Thinking vs Screenpipe
A side-by-side look at the Leghis Smart Thinking and Screenpipe MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Leghis Smart Thinking for knowledge & memory work as a local process; choose Screenpipe for knowledge & memory as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Leghis Smart Thinking when
- You need dedicated capabilities in the Knowledge & Memory domain.
- You prefer a local stdio subprocess transport.
- You want tools like
capabilities, run_create, run_get.
Choose Screenpipe when
- You need dedicated capabilities in the Knowledge & Memory domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
search-content, synced-devices, search-synced-content.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Knowledge & Memory | Knowledge & Memory |
| Quality signal | 65/100 · Great | 73/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Freemium |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 33 | 22,051 |
| Directory activity | 2 views 0 installs 0 upvotes | 7 views 0 installs 0 upvotes |
| Tools | 43 | 30 |
| Full listing | View Leghis Smart Thinking | View Screenpipe |
Tools & capabilities
Leghis Smart Thinking tools 43
capabilitiesDescribe configured capabilities and explicit limits, including dossier capacity, scientific worker bounds, build metadata, the software supervisor (rubrics, review policy, approved recipes and execution) and the published catalogue fingerprint.run_createCreate an owned dossier when you need tracked claims, evidence with sources, coverage or audit. For a single exact check prefer calculate/solve_math/solve_logic instead. Restricted runs stay within server storage. profile picks an operator-approved budget envelope (standard by default; larger envelopes are bounded by the operator policy). For anonymous access the reply embeds a one-time dossier capability in the returned identifier: keep it exactly as returned — it authorizes every later operation on this dossier and is never re-issued.run_getRead a compact owned dossier. Explicit detail=full returns the complete document with its published bounds (mutation receipts omitted; use run_export when a bound is reached), never keys or server policies. presentation=detailed returns unprojected output; the opaque `cursor` continues claim pagination.run_listList owned run summaries with pagination.calculateExact arithmetic without floating-point truth claims. Grammar: rationals, factorial(n), binomial(n,k), gcd, lcm, mod(a,m), powmod(a,e,m), n!, `a mod b`, and ONE top-level comparison (=, !=, <, <=, >, >=). Pure operation: no dossier, no audit record. Supply expected to compare and get matchesExpected.calculate_batchEvaluate independent exact expressions in one call (same kernel and domains as calculate). Partial mode keeps valid items when others fail; atomic mode refuses the whole batch. References between items are not accepted in this version.checkOne-shot structured check without a dossier. Accepts a deterministic ClaimSpec (arithmetic, linear, ordering, boolean) and returns the shared verifier status. Kinds needing artifacts or the symbolic worker are refused with a hint. Exact inputs never call Jev.finite_computeBounded declarative computation: range_reduce (sum/product/count over an inclusive integer range; optional modulus), linear_recurrence (a_n = c0*a_(n-1) + c1*a_(n-2) + ..., coefficients listed most recent first; optional modulus), bounded_search (exhaustive enumeration of a bounded integer space against one comparison predicate). Declarative only: no clock, network, files or dynamic code; a reached limit returns a partial result, never a fake maximum or absence.casIsolated symbolic recipes: identity (expression equal to rhs?), simplify, solve (ONE symbol, univariate polynomial, rational coefficients, degree <= 8, exact roots including multiplicities). Runs only in the separate IAM-protected worker with pinned image; no arbitrary Python and no local fallback. A library result is not proof-kernel certification. assumptions is optional, e.g. "t=real, u=positive". Domain assumptions are applied: roots excluded by the declared domain are reported in excludedRoots and never counted as solutions. The worker bounds are published in capabilities.scientific (expression <= 2000 bytes, <= 8 symbols).solve_mathExact rational linear system solver. Unique, inconsistent and underdetermined are distinct. Pure operation: no dossier required.solve_logicSolve explicitly supplied ordering constraints, without guessing a prose translation. Pure operation: no dossier required.claimRegister an explicit structured claim inside a dossier. The host formalizes text; Jev cannot invent proof inputs.- +31 more on the listing page
Screenpipe tools 30
search-contentSearch screen text, audio transcriptions, input events, memories, and parsed app data. Returns timestamped results with app context. USE WHEN: you need the actual text/content of a moment — quotes, screen text, transcript lines, or compact parsed messages, emails, tasks, documents, and code review — or want to filter by speaker/window. DO NOT USE for: broad questions like 'what was I doing?' (use activity-summary, it pre-summarizes apps + windows + transcripts). Also DO NOT USE for: targeted UI controls (use search-elements). Start with limit=5, increase only if needed. Per-result text is auto-truncated to 1000 chars; pass max_content_length=0 to opt out, or a custom integer to override.synced-devicesList this signed-in user's Screenpipe devices that have uploaded Data Sync records, including each device name and last sync time. USE WHEN: the user asks what devices are available, names another device, or asks a cross-device question and you need the exact device_name filter. This never accepts an account or bucket identifier; the local app forwards the signed-in user's identity.search-synced-contentSearch Data Sync records from this signed-in user's devices. Results include device name, device ID, and timestamp for attribution. USE WHEN: the user asks about another/named device, asks across devices, or local search does not cover the requested machine. For the current machine only, use search-content. Start with a narrow time range and limit=10.list-meetingsList detected meetings (Zoom, Teams, Meet, etc.) with id, duration, app, attendees, and note status. Pass `q` to substring-match title, attendee names/emails, and notes — `q` searches ALL meeting history, so when looking for a meeting with a person or on a topic ('when did I last talk to Noah?'), pass `q` and OMIT start_time. Only constrain the time range when the question itself is time-bound. Results are newest-first; without `q`, old meetings only surface via time range or offset pagination. Follow up with get-meeting (id from results) for the full note and transcript.activity-summaryRich activity overview: authoritative active minutes, app/window time, edited document paths, key text, and audio transcriptions, with optional parsed task context when available. USE WHEN: any broad question about what the user did — 'what was I doing?', 'how long on X?', 'which apps?', 'recap my morning'. This is almost always the right first call for time-range questions — usually sufficient without follow-up searches. Use parsed/path evidence to identify tasks, but only active-minute fields for duration; frame and row counts are never time. DO NOT USE for: finding a specific keyword (use keyword-search) or a specific UI control (use search-elements).search-elementsSearch UI elements (buttons, links, text fields) from the accessibility tree, filterable by role. USE WHEN: you want a specific UI control or page-structure question — 'find every Submit button I saw', 'list the links in that page'. DO NOT USE for: general text/content (use search-content) or fast keyword lookup (use keyword-search).frame-contextGet full accessibility text, parsed tree nodes, and URLs for a specific frame ID. Use after search-content to get detailed context for a specific moment.export-videoExport an MP4 of screen recordings for a time range, with synced microphone audio. Frames are placed at their real timestamps, so the clip's duration matches the wall-clock span you requested (not a sped-up timelapse). Returns the file path. Can take a few minutes for long ranges.update-memoryCreate, update, or delete a persistent memory (facts, preferences, decisions the user wants to remember). To retrieve memories, use search-content with content_type='memory'. To create: provide content + tags. To update: provide id + fields to change. To delete: provide id + delete=true.get-feedbackSearch local user ratings and written comments attached to AI-produced notifications, chats, memories, blocks, artifacts, and other targets. Use before generating related work so you preserve what earned up ratings and correct what earned down ratings.send-notificationSend a notification to the screenpipe desktop UI. Use high priority only for time-sensitive failures or decisions needing human attention; routine findings and completed tasks should be normal or low.health-checkCheck if screenpipe is running and healthy. Returns recording status, frame/audio stats, timestamps.- +18 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Leghis Smart Thinking
{
"mcpServers": {
"leghis-smart-thinking": {
"command": "npx",
"args": [
"-y",
"smart-thinking-mcp@16.3.1"
]
}
}
}
Screenpipe
{
"mcpServers": {
"screenpipe": {
"command": "npx",
"args": [
"-y",
"screenpipe-mcp@latest"
]
}
}
}
Frequently asked questions
Leghis Smart Thinking is categorized under Knowledge & Memory and uses a local stdio subprocess. Screenpipe belongs to Knowledge & Memory and uses a local stdio subprocess. Pick Leghis Smart Thinking for knowledge & memory work and Screenpipe for knowledge & memory.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Leghis Smart Thinking has no declared pricing — check the project's own site. Screenpipe is listed as freemium — a free tier with paid plans. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add leghis-smart-thinking and screenpipe as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Leghis Smart Thinking has a quality signal of 65/100 (Great) with 2 views, 0 installs and 33 GitHub stars. Screenpipe has 73/100 (Great) with 7 views, 0 installs and 22,051 GitHub stars.