Skip to main content
Glama

MCP-сервер Desktop Insights

Smithery npm

MCP-сервер для Desktop Insights — поиск SDK, фреймворков и зависимостей, используемых в более чем 12 000 десктопных приложений для macOS и Windows.

Быстрый старт

Получите свой API-ключ на странице desktopinsights.com/settings/api.

Claude Code

claude mcp add desktopinsights -e DESKTOPINSIGHTS_API_KEY=your-api-key -- npx -y desktopinsights-mcp

Claude Desktop

Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "desktopinsights": {
      "command": "npx",
      "args": ["-y", "desktopinsights-mcp"],
      "env": {
        "DESKTOPINSIGHTS_API_KEY": "your-api-key"
      }
    }
  }
}

Cursor

Добавьте в .cursor/mcp.json:

{
  "mcpServers": {
    "desktopinsights": {
      "command": "npx",
      "args": ["-y", "desktopinsights-mcp"],
      "env": {
        "DESKTOPINSIGHTS_API_KEY": "your-api-key"
      }
    }
  }
}

Related MCP server: Generate Tech Stack

Инструменты

lookup_app

Поиск SDK и зависимостей, используемых конкретным приложением.

"What SDKs does Figma use?"
"Look up the technology stack of 1Password"
"What error tracking does Slack use?"

Поиск приложений по используемым SDK, среде выполнения, платформе или разработчику.

"Which apps use Sentry for error tracking?"
"Find all Electron apps that use Stripe"
"What apps does Microsoft publish on macOS?"

compare_apps

Сравнение технологических стеков бок о бок.

"Compare Figma vs Sketch"
"Compare Slack and Discord's tech stacks"

list_sdk_categories

Список всех 11 отслеживаемых категорий SDK с примерами значений. Полезно для обнаружения доступных фильтров.

Конфигурация

Переменная окружения

Обязательно

По умолчанию

DESKTOPINSIGHTS_API_KEY

Да

DESKTOPINSIGHTS_API_URL

Нет

https://desktopinsights.com

Разработка

npm install
npm run build
DESKTOPINSIGHTS_API_KEY=your-key node build/index.js

Available Tools

4 tools
compare_appsA
Read-only

Compare the technology stacks of two desktop applications side by side. Shows SDK differences, shared technologies, and metadata comparison. Useful for competitive analysis (e.g., "Compare Figma vs Sketch", "Compare Slack vs Discord"). Uses 2 API calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
app1YesFirst app name or bundle ID
app2YesSecond app name or bundle ID
platformNoPlatform to compare on (recommended when apps exist on both)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, indicating a safe, read-only operation with open-world assumptions. The description adds valuable context beyond annotations: it specifies what the tool compares ('SDK differences, shared technologies, and metadata comparison'), mentions it 'Uses 2 API calls' (implying potential rate limits or performance considerations), and provides example use cases. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by specifics on what is compared, usage context with examples, and API call information. Every sentence adds value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (comparative analysis with 3 parameters), rich annotations (readOnlyHint, destructiveHint, openWorldHint), and no output schema, the description is mostly complete. It covers purpose, usage, and behavioral aspects like API calls, but lacks details on output format (e.g., structure of comparison results) or error handling. However, annotations provide safety context, making it adequate but with minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for app1, app2, and platform (including enum values). The description adds minimal parameter semantics beyond the schema: it implies app1 and app2 are for 'desktop applications' and platform is for comparison 'when apps exist on both,' but doesn't provide additional syntax or format details. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Compare the technology stacks of two desktop applications side by side.' It specifies the verb ('compare'), resource ('technology stacks of two desktop applications'), and scope ('side by side'), distinguishing it from siblings like list_sdk_categories, lookup_app, and search_apps by focusing on comparative analysis rather than listing, looking up, or searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Useful for competitive analysis' with examples like 'Compare Figma vs Sketch' and 'Compare Slack vs Discord.' It implicitly suggests when to use this tool (for comparison) versus alternatives (e.g., use list_sdk_categories for listing, lookup_app for single-app details, search_apps for searching), and mentions 'Uses 2 API calls' to indicate resource considerations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sdk_categoriesA
Read-only

List all 11 SDK categories tracked by Desktop Insights with their API field names and example SDKs for each. Use this to discover what filters are available for search_apps, or to understand the sdkSummary fields returned by lookup_app.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, establishing this as a safe read operation. The description adds valuable context about the fixed scope ('all 11 SDK categories') and the specific content returned ('API field names and example SDKs'), which goes beyond what annotations provide. However, it doesn't mention potential limitations like data freshness or update frequency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each serve distinct purposes: the first defines what the tool returns, the second explains when to use it. There is zero wasted language, and the information is front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with good annotations, the description provides excellent context about what data is returned and how it connects to sibling tools. The main gap is the lack of output schema, so the description doesn't specify the exact structure of the returned categories list, but this is partially mitigated by mentioning specific content elements ('API field names and example SDKs').

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0 parameters and 100% schema description coverage, the baseline would be 4. The description appropriately acknowledges this by not attempting to explain non-existent parameters, instead focusing on the tool's purpose and output characteristics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List all 11 SDK categories') with precise resources ('tracked by Desktop Insights'), including what information is provided ('API field names and example SDKs for each'). It explicitly distinguishes from sibling tools by mentioning how its output relates to 'search_apps' and 'lookup_app' operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('to discover what filters are available for search_apps' and 'to understand the sdkSummary fields returned by lookup_app'). It clearly positions this as a reference tool for understanding SDK categories before using filtering or lookup operations with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_appA
Read-only

Look up what SDKs, frameworks, and dependencies a specific desktop application uses. Returns the full technology stack including error tracking, analytics, UI framework, payments, and 7 other SDK categories, plus detailed dependency list with versions. Accepts app names (e.g., "Figma", "Slack", "1Password") or bundle IDs (e.g., "com.figma.Desktop"). Covers 12,000+ macOS and Windows apps.

ParametersJSON Schema
NameRequiredDescriptionDefault
appYesApp name (e.g., "Figma", "Slack") or bundle ID (e.g., "com.figma.Desktop")
platformNoFilter by platform. Omit to search both.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, non-destructive, and open-world hints, but the description adds valuable context beyond this by specifying the scope (e.g., returns full technology stack with 7+ SDK categories, detailed dependency lists with versions, and coverage of 12,000+ apps), enhancing the agent's understanding of what data to expect without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by supporting details (e.g., return content, input examples, coverage), with no wasted words; every sentence adds value, making it efficient and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, rich annotations, and no output schema, the description is mostly complete by detailing return values (technology stack, dependency lists) and input scope. However, it could slightly improve by mentioning potential limitations or error cases, though it adequately supports agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already fully documents the parameters ('app' and 'platform'). The description adds minimal extra semantics by mentioning examples like 'Figma' or 'Slack' and bundle IDs, but does not provide significant additional meaning beyond what the schema offers, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Look up') and resource ('SDKs, frameworks, and dependencies a specific desktop application uses'), distinguishing it from siblings like 'compare_apps' or 'search_apps' by focusing on detailed technology stack retrieval rather than comparison or general search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (e.g., for retrieving technology stacks of desktop apps) and mentions coverage of 12,000+ macOS and Windows apps, but does not explicitly state when not to use it or name alternatives like 'compare_apps' or 'search_apps' for different scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_appsA
Read-only

Search for desktop applications by SDK usage, runtime, platform, or developer. Use this to find which apps use a specific SDK (e.g., "Which apps use Sentry?"), discover technology adoption patterns, or research a developer's products. Supports all 11 SDK categories, runtime (electron/native/qt/flutter), platform (macos/windows), and developer name. Pass "null" as an SDK value to find apps without that SDK type. At least one filter is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
errorTrackingSdkNoFilter by error tracking SDK (e.g., "Sentry", "Bugsnag"), or "null" for apps with none
analyticsSdkNoFilter by analytics SDK (e.g., "Mixpanel", "Amplitude")
featureFlagSdkNoFilter by feature flag SDK (e.g., "LaunchDarkly")
databaseSdkNoFilter by database SDK (e.g., "SQLite", "electron-store")
uiFrameworkNoFilter by UI framework (e.g., "React", "Vue", "SwiftUI")
stateManagementNoFilter by state management (e.g., "Redux", "Zustand")
paymentsSdkNoFilter by payments SDK (e.g., "Stripe", "Paddle")
authSdkNoFilter by auth SDK (e.g., "Auth0")
observabilitySdkNoFilter by observability SDK (e.g., "OpenTelemetry", "Datadog")
realtimeSdkNoFilter by realtime SDK (e.g., "Socket.IO", "Pusher")
autoUpdateSdkNoFilter by auto-update SDK (e.g., "Sparkle", "electron-updater")
runtimeNoFilter by runtime (e.g., "electron", "native", "qt", "flutter")
platformNoFilter by platform
developerNoFilter by developer name (partial match)
limitNoMax results (default 50, max 500)
offsetNoPagination offset (default 0)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, destructiveHint=false, and openWorldHint=true, covering safety and data scope. The description adds valuable context beyond annotations: it specifies that 'null' can be passed as an SDK value to find apps without that SDK type, mentions that developer filtering uses partial match, and notes the requirement for at least one filter. No contradictions with annotations exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: it starts with the core purpose, provides usage examples and scenarios, lists filter types, and ends with constraints. Every sentence adds value without redundancy, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (16 parameters) and lack of output schema, the description does well by explaining filter types, usage scenarios, and constraints. However, it doesn't detail the return format (e.g., what fields are included in results) or pagination behavior beyond mentioning limit/offset parameters, leaving some gaps for an agent to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 16 parameters. The description adds some semantic context by mentioning 'all 11 SDK categories' and giving examples like 'Sentry' for SDKs, but it doesn't provide significant additional meaning beyond what's in the schema descriptions. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for desktop applications using specific filters (SDK usage, runtime, platform, developer). It distinguishes from sibling tools like 'compare_apps', 'list_sdk_categories', and 'lookup_app' by emphasizing search functionality with multiple filter dimensions rather than comparison, listing, or single-app lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: it specifies when to use this tool (e.g., 'to find which apps use a specific SDK', 'discover technology adoption patterns', 'research a developer's products'), mentions the requirement that 'at least one filter is required', and gives examples of filter types. It implicitly distinguishes from siblings by focusing on multi-filter search rather than other operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.3.0
    • First observedcompare_apps
    • First observedlist_sdk_categories
    • First observedlookup_app
    • First observedsearch_apps

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: compare_apps for side-by-side analysis, list_sdk_categories for metadata discovery, lookup_app for detailed app technology inspection, and search_apps for filtered app discovery. There is no overlap in functionality, and the descriptions explicitly differentiate their use cases, preventing agent misselection.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: compare_apps, list_sdk_categories, lookup_app, and search_apps. The verbs (compare, list, lookup, search) accurately reflect the actions, and the nouns (apps, sdk_categories, app) align with the domain, creating a predictable and readable naming convention throughout.

Tool Count5/5

With 4 tools, this server is well-scoped for its purpose of desktop application technology analysis. Each tool earns its place by covering distinct aspects: metadata listing, app lookup, search with filters, and comparison. The count is neither too thin nor bloated, fitting the domain's core workflows efficiently.

Completeness4/5

The tool surface provides comprehensive coverage for technology stack analysis, including discovery (list_sdk_categories), inspection (lookup_app), search (search_apps), and comparison (compare_apps). A minor gap exists in update or management operations (e.g., adding new apps or SDKs), but this is reasonable for a read-only analysis server, and agents can work around it with the provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers