skills/hack23/homepage/mcp-server-integration

mcp-server-integration

SKILL.md

MCP Server Integration Skill

Purpose

Guides proper configuration and usage of Model Context Protocol (MCP) servers for GitHub Copilot custom agents, ensuring secure, efficient, and standards-compliant integrations.

Rules

MCP Server Configuration

Standard MCP Servers for Hack23:

{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders",
      "headers": {
        "Authorization": "Bearer ${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }}",
        "X-MCP-Toolsets": "all"
      },
      "tools": ["*"]
    },
    "filesystem": {
      "type": "local",
      "command": "mcp-server-filesystem",
      "args": ["/home/runner/work/homepage/homepage"],
      "tools": ["*"]
    },
    "memory": {
      "type": "local",
      "command": "mcp-server-memory",
      "args": [],
      "tools": ["*"]
    },
    "sequential-thinking": {
      "type": "local",
      "command": "mcp-server-sequential-thinking",
      "args": [],
      "tools": ["*"]
    },
    "playwright": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest", "--headless"],
      "env": {
        "DISPLAY": ":99"
      },
      "tools": ["*"]
    }
  }
}

MCP Server Security

MUST:

  • Use GitHub secrets for all credentials (${{ secrets.NAME }})
  • Never hardcode tokens or API keys
  • Use least-privilege access (specific tools, not "*" unless necessary)
  • Validate all MCP server inputs
  • Use HTTPS for remote MCP servers

GitHub MCP Authentication:

{
  "github": {
    "type": "http",
    "url": "https://api.githubcopilot.com/mcp/insiders",
    "headers": {
      "Authorization": "Bearer ${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }}"
    }
  }
}

Available MCP Servers

Core Services:

1. GitHub MCP
   - Repository operations
   - Issue/PR management
   - GitHub Actions
   - Copilot coding agent tools

2. Filesystem MCP
   - Read/write files
   - Directory navigation
   - File search

3. Git MCP
   - Commit history
   - Branch operations
   - Diff viewing

4. Memory MCP
   - Context preservation
   - Cross-session memory
   - Knowledge retention

Intelligence Services:

5. Sequential Thinking MCP
   - Complex problem breakdown
   - Reasoning chains
   - Decision documentation

6. Brave Search MCP (optional)
   - Web search
   - Research capabilities
   - Requires API key

Automation Services:

7. Playwright MCP
   - Browser automation
   - UI testing
   - Screenshot capture
   - Web scraping

Agent Tool Configuration

Minimal Tool Set (Recommended):

---
name: ui-enhancement-specialist
description: UI/UX specialist
tools: ["view", "edit", "create", "shell", "search_code"]
---

Full Tool Access (For Meta Agents):

---
name: agent-curator
description: Meta agent for agent management
tools: ["*"]
---

MCP Server Usage Patterns

GitHub MCP - Issue Management:

// Create issue with Copilot assignment
github-create_issue({
  owner: "Hack23",
  repo: "homepage",
  title: "Implement feature X",
  body: "Detailed requirements...",
  assignees: ["copilot-swe-agent[bot]"]
})

// Advanced: Assign with base_ref and custom instructions
assign_copilot_to_issue({
  owner: "Hack23",
  repo: "homepage",
  issue_number: 123,
  base_ref: "feature/branch",
  custom_instructions: "Follow accessibility guidelines"
})

Filesystem MCP - File Operations:

// Read file
filesystem-read_text_file({ path: "/path/to/file.md" })

// Write file
filesystem-write_file({
  path: "/path/to/file.md",
  content: "# New Content"
})

// List directory
filesystem-list_directory({ path: "/path/to/dir" })

Memory MCP - Context Retention:

// Store knowledge
memory-store({
  key: "project-architecture",
  value: "This project uses microservices with AWS Lambda..."
})

// Retrieve knowledge
memory-retrieve({ key: "project-architecture" })

Playwright MCP - Browser Automation:

// Navigate and screenshot
playwright-browser_navigate({ url: "https://hack23.com" })
playwright-browser_take_screenshot({ filename: "homepage.png" })

// Test accessibility
playwright-browser_snapshot()

Environment Configuration

Workflow Setup (.github/workflows/copilot-setup-steps.yml):

env:
  GITHUB_TOKEN: ${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }}
  GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }}
  DISPLAY: ":99"

steps:
  - name: Install MCP Servers
    run: |
      npm install -g @modelcontextprotocol/server-filesystem
      npm install -g @modelcontextprotocol/server-memory
      npm install -g @modelcontextprotocol/server-sequential-thinking
      npm install -g @playwright/mcp

Troubleshooting

Common Issues:

1. MCP Server Not Found
   - Verify installation: `which mcp-server-filesystem`
   - Check PATH environment variable
   - Reinstall: `npm install -g @modelcontextprotocol/server-filesystem`

2. Authentication Errors
   - Verify secret exists: COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN
   - Check token permissions
   - Ensure proper secret reference syntax

3. Permission Denied
   - Check filesystem permissions
   - Verify workspace paths
   - Review allowed directories

4. Playwright Display Error
   - Verify Xvfb running
   - Check DISPLAY environment variable
   - Install display dependencies

Related Policies

Related Documentation

Resources

Weekly Installs
16
Repository
hack23/homepage
GitHub Stars
5
First Seen
Mar 1, 2026
Installed on
opencode16
gemini-cli16
github-copilot16
amp16
cline16
codex16