Back to Browse

Plojure MCP Server

by Kroq86
AI & MLUse Caution3.8MCP RegistryLocal
Free

Server data from the Official MCP Registry

Assembly-accelerated DuckDB MCP server for code search, indexing, and symbol lookup.

About

Assembly-accelerated DuckDB MCP server for code search, indexing, and symbol lookup.

Security Report

3.8
Use Caution3.8High Risk

The DuckDB vector database server shows good code structure and proper auth handling through environment variables, but has several security concerns. Key issues include shell command injection vulnerability, potential path traversal risks, and weak hash-based embeddings that could affect data integrity. Supply chain analysis found 10 known vulnerabilities in dependencies (0 critical, 7 high severity).

4 files analyzed · 14 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

database

Check that this permission is expected for this type of plugin.

system_info

Check that this permission is expected for this type of plugin.

Unverified package source

We couldn't verify that the installable package matches the reviewed source code. Proceed with caution.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-kroq86-vector-db-mcp": {
      "args": [
        "-y",
        "github:kroq86/Plojure"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Plojure

Plojure is a playground for Lisp, Python, and x86_64 assembly experiments. The current hybrid branch also contains a macOS porting path for the FASM examples.

The target workflow on macOS is intentionally boring:

fasm fasm/basic/fib.asm
./fasm/basic/fib

No Docker command in the hot path, no exec format error, no Linux ELF binary pretending to be a macOS program.

macOS FASM Setup

Install the companion fasm shim from kroq86/fasm-mac:

git clone https://github.com/kroq86/fasm-mac
cd fasm-mac
./install.sh
export PATH="$HOME/.local/bin:$PATH"

The installed command is named fasm.

On Apple Silicon it produces x86_64 Mach-O binaries, so Rosetta is required:

arch -x86_64 /usr/bin/true

If that fails:

softwareupdate --install-rosetta

Standalone Examples

These examples now use fasm/core/platform.inc instead of hardcoded Linux syscall numbers:

fasm fasm/basic/fib.asm
./fasm/basic/fib

fasm fasm/basic/arg.asm
./fasm/basic/arg fasm/basic/lol.txt

cd fasm/basic
fasm mycat.asm
./mycat

cd ../advanced/binary_search
fasm bin_s.asm
./bin_s

Expected behavior:

  • fib.asm prints Fibonacci values.
  • arg.asm prints the file passed as argv[1].
  • mycat.asm prints fasm/basic/lol.txt.
  • bin_s.asm prints the found index.

Shared Library Examples

Simple C/Python native-library examples can now build .dylib files on macOS:

cd fasm/advanced/add
./run.sh

cd ../binary_search/wrapper
./run.sh

cd ../../oop_game
./build.sh

The build path is:

fasm --emit=macho-obj add.asm add.o
clang -arch x86_64 -dynamiclib wrapper.c add.o -o mylib.dylib

On Apple Silicon, Python ctypes needs an x86_64/Rosetta Python to load these libraries. The default Homebrew Python is usually arm64 and cannot load an x86_64 .dylib.

Vector DB

projects/vector-db now looks for .dylib on Darwin and .so on Linux. The macOS build path is:

cd projects/vector-db
fasm --emit=macho-obj assembly/dot_product.asm dot_product.o
clang -arch x86_64 -dynamiclib dot_product.o assembly/wrapper.c -o dot_product.dylib

If the native library cannot be loaded, the Python code keeps the existing fallback behavior where available.

What Still Is Not Done

  • fasm classic itself still has no upstream-style format Mach-O formatter.
  • Native arm64 assembly output is not part of this port.
  • The Mach-O object converter rejects ELF relocations for now.
  • Coroutines are intentionally left for a later pass because they switch stacks manually and cross Python callback boundaries.
  • Python examples on Apple Silicon need an x86_64 Python runtime if they load x86_64 .dylib files.

Original Lisp Interpreter

The repository also contains a small Lisp interpreter:

python projects/lisp-interpreter/main.py projects/lisp-interpreter/program.lisp

It supports recursive functions, lambda expressions, arithmetic, conditionals, and function calls.

Reviews

No reviews yet

Be the first to review this server!

Plojure MCP Server - Assembly-accelerated DuckDB MCP server for code search, | MCP Marketplace