osquery / osquery/osquery

New `mcp_clients` table for tracking MCP usage

Open
#8,652 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

virtual tables wishlist
Dominant language
C++
Stars
23.6k
Forks
2.6k
Avg merge
6d 7h
Merged PRs (30d)
14

Description

Feature request

What new feature do you want?

With the advent of large-language models (LLMs) popularity, a new protocol named Model Context Protocol (MCP) has been standardized and developed for connecting data sources with these tools. We'd like a way to track usage and write policies around MCP clients on devices with osquery installed with a new OSQuery table: mcp_client. This table would include useful metadata about the particular MCP client not exposed by the existing, generic apps or programs tables such as listing currently configured MCP servers.

How is this new feature useful?

This would provide a unified, cross-platform way for organizations to better track usage of MCP clients and servers, as well as, enforce policies (outside the scope of osquery) based on what MCP clients and servers are permitted.

How can this be implemented?
1. Search for common MCP client configuration, for example:

OpenAI's ChatGPT desktop client config:

  • ~/.chatgpt

Anthropic's Claude Desktop client config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Anysphere's Cursor config:

  • ~/.cursor/mcp.json
2. Parse the found config and provide common metadata such as connected MCP servers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how osquery's existing generic apps and programs tables represent application metadata, then inspect the listed ChatGPT, Claude Desktop, and Cursor configuration paths across their stated platforms. Done means a new mcp_client table provides common MCP client metadata and connected MCP servers through a unified cross-platform interface; the issue does not name specific files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
operating-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.