Skip to main content

Intermediate MCP server for code snippets search

Project description

MCP Code Snippets

This is an local adapter for MCP server that allows Agents to lookup code snippets in your project. Local MCP implementation allows to auto-fill some arguments for the remote MCP server, and therefore make lookup more accurate. By default, it uses Qdrant-maintaned remote MCP server with a collection of code snippets, but you can use your own collection by providing a custom MCP proxy configuration.

Setup

mcp-code-snippets should be available as an executable in your system, so that MCP client (like Cursor) can find it.

Global installation

Simplest option is to install it globally with pip:

pip install mcp-code-snippets

In this way it will be available in your system path, and can be used by any MCP client.

Project installation

Install mcp-code-snippets with a package manager of your choice in your project.

An example using uv:

uv add mcp-code-snippets

Note: it might be worth it to install mcp-code-snippets as a dev dependency, as it is not needed in production.

Usage

To start using mcp-code-snippets in your project, you need to configure MCP client to use it.

Cursor

Add the following to your .cursor/mcp.json file:

{
    "mcpServers": {
        "mcp-code-snippets": {
            "command": "mcp-code-snippets"
        }
    }
}

Advanced configuration

mcp-code-snippest has one cli argument: --transport, which can be set either to stdio, sse or streamable-http. The default is stdio. There is not much other configuration available at the moment, though more to be added.

Other than cli arguments, there are a couple of environment variables to configure the tool: PROJECT_ROOT_PATH and MCP_PROXY_CONFIG.

PROJECT_ROOT_PATH is the path to the project root. It is used to detect the programming language of the project, and to extract dependencies. There is an automatic detection of the project language, but you can also specify it manually by setting PROGRAMMING_LANGUAGE environment variable.

For Python supported package managers are those following PyPA specification, poetry and uv syntax beyond PyPA is also supported.

MCP_PROXY_CONFIG is the path to the MCP proxy configuration file, which is used to configure the access to the MCP server with the code snippets.

An example would be:

{
     "mcpServers": {
         "mcp-server-qdrant": {
             "url": "https://mcp.qdrant.tech/mcp/",
             "transport": "streamable-http"
         }
     }
}

Editors integrations

You can use mcp-code-snippets with various editors that support MCP protocol. An example configuration for Cursor in .cursor/mcp.json would look like this:

{
    "mcpServers": {
        "mcp-code-snippets": {
            "command": "mcp-code-snippets",
            "env": {
                "MCP_PROXY_CONFIG": "/home/user/my-mcp/mcp_proxy_example.json",
                "PROJECT_ROOT_PATH": "/home/user/my-project"
            }
        }
    }
}

MCP_PROXY_CONFIG default value is mcp_proxy.json, and PROJECT_ROOT_PATH defaults to the current directory.

NOTE: Cursor might not connect to the MCP server with an error like ENOENT mcp-code-snippets, in this case you might need to use absolute paths for all envs and commands.

Development

This project uses uv for package management and ruff for linting and formatting. In order to build the package just run:

uv build

After building, try running the package with:

mcp-code-snippets --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_code_snippets-0.1.1.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_code_snippets-0.1.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_code_snippets-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_code_snippets-0.1.1.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for mcp_code_snippets-0.1.1.tar.gz
Algorithm Hash digest
SHA256 692324cac2e4fed36520196505f1eaf138fb9db5e94b7d8f3ead2e593048276b
MD5 017a29d1e5b232e436d08e887b22ccfc
BLAKE2b-256 22a694123f480af628f2a38701e06a7fb9a501ea99c83ae0fdb60e16adcf714a

See more details on using hashes here.

File details

Details for the file mcp_code_snippets-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_code_snippets-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 845e1c6ea75963b3465461cf73eacfaf051a847576c9fa490440e54af7085a8b
MD5 15daad9528ef895d376b13c9d6843937
BLAKE2b-256 4282c4c80c59921501d68be7210e22ba0443afa9e8b0a8df4f09c4252a20560f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page