Initial commit: pi_mcps monorepo with BigMind MCP server
This commit is contained in:
Executable
+98
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Installation procedure for mcp-adp-bigmind
|
||||
# No external API token required — all data is stored locally.
|
||||
# This script is called by the main install.sh script.
|
||||
# Parameter: $1 = comma-separated list of IDEs (e.g., "VS Code,IntelliJ")
|
||||
|
||||
set -e
|
||||
|
||||
SELECTED_IDES="$1"
|
||||
BASEDIR=$(cd "$(dirname "$0")" && pwd)
|
||||
MCP_NAME="ADP BigMind"
|
||||
|
||||
# ── Validate Python and uv ────────────────────────────────────────────────────
|
||||
source "$(dirname "$BASEDIR")/helper_scripts/shared_uv_setup.sh"
|
||||
|
||||
# ── Install Python dependencies ───────────────────────────────────────────────
|
||||
if [ ! -d "$BASEDIR/.venv" ]; then
|
||||
echo "Installing dependencies for $MCP_NAME..." >&2
|
||||
cd "$BASEDIR"
|
||||
uv sync >&2
|
||||
fi
|
||||
|
||||
# ── Create the memory DB directory ───────────────────────────────────────────
|
||||
BIGMIND_DIR="$HOME/.mcp/bigmind"
|
||||
mkdir -p "$BIGMIND_DIR"
|
||||
echo "INFO: BigMind DB directory: $BIGMIND_DIR/memory.db" >&2
|
||||
|
||||
# ── Write GitHub Copilot instructions (Layer 4) ───────────────────────────────
|
||||
DEFAULT_WORKSPACE="$(dirname "$BASEDIR")"
|
||||
|
||||
echo "" >&2
|
||||
echo "────────────────────────────────────────────────────────────" >&2
|
||||
echo "BigMind — GitHub Copilot Instructions Setup" >&2
|
||||
echo "────────────────────────────────────────────────────────────" >&2
|
||||
echo "BigMind works best when Copilot is told to use memory tools" >&2
|
||||
echo "at the start and end of every conversation." >&2
|
||||
echo "" >&2
|
||||
echo "Enter your workspace root path where .github/copilot-instructions.md" >&2
|
||||
echo "should be written (press Enter to use: $DEFAULT_WORKSPACE):" >&2
|
||||
read -r WORKSPACE_PATH
|
||||
WORKSPACE_PATH="${WORKSPACE_PATH:-$DEFAULT_WORKSPACE}"
|
||||
|
||||
COPILOT_DIR="$WORKSPACE_PATH/.github"
|
||||
COPILOT_FILE="$COPILOT_DIR/copilot-instructions.md"
|
||||
|
||||
BIGMIND_BLOCK="
|
||||
## BigMind Persistent Memory
|
||||
|
||||
You have access to a BigMind persistent memory MCP server.
|
||||
|
||||
Rules (mandatory):
|
||||
- ALWAYS call memory_start_session() as the very first action of every conversation.
|
||||
- ALWAYS call memory_end_session() as the very last action before closing a conversation.
|
||||
- Call memory_flag_important() whenever a significant decision, code change, or new
|
||||
preference is mentioned — do not wait to be asked.
|
||||
- If asked \"do you remember…\", call memory_search_chunks() or
|
||||
memory_get_session_detail() before answering from your own knowledge.
|
||||
"
|
||||
|
||||
mkdir -p "$COPILOT_DIR"
|
||||
|
||||
if [ -f "$COPILOT_FILE" ]; then
|
||||
if grep -q "BigMind Persistent Memory" "$COPILOT_FILE" 2>/dev/null; then
|
||||
echo "INFO: BigMind instructions already present in $COPILOT_FILE — skipping." >&2
|
||||
else
|
||||
printf '%s' "$BIGMIND_BLOCK" >> "$COPILOT_FILE"
|
||||
echo "INFO: BigMind instructions appended to $COPILOT_FILE" >&2
|
||||
fi
|
||||
else
|
||||
printf '# Copilot Instructions\n%s' "$BIGMIND_BLOCK" > "$COPILOT_FILE"
|
||||
echo "INFO: Created $COPILOT_FILE with BigMind instructions" >&2
|
||||
fi
|
||||
|
||||
echo "" >&2
|
||||
echo "✅ Copilot instructions written to: $COPILOT_FILE" >&2
|
||||
echo "────────────────────────────────────────────────────────────" >&2
|
||||
|
||||
# ── Output MCP config snippet ─────────────────────────────────────────────────
|
||||
echo "MCP_NAME=$MCP_NAME"
|
||||
echo "MCP_SNIPPET="
|
||||
cat <<EOF
|
||||
{
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"$BASEDIR",
|
||||
"run",
|
||||
"src/server.py"
|
||||
],
|
||||
"env": {
|
||||
"BIGMIND_USER": "$USER"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user