Personal Code Skills MCP Server
Retrieves and lists best practice skills stored as markdown files in a GitHub repository, supporting both public and private repositories via personal access tokens.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Personal Code Skills MCP Servershow me my React patterns guidelines"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
my-personal-code-mcp
An MCP (Model Context Protocol) server that provides AI assistants with access to best practice skills stored as markdown files in a GitHub repository.
Features
list_skills: Returns a list of all available skill names from the configured repository
get_skill: Retrieves the content of a specific skill by name
Related MCP server: GitHub MCP Server
Installation
# Clone the repository
git clone https://github.com/lfdantoni/my-personal-code-mcp.git
cd my-personal-code-mcp
# Install dependencies
npm install
# Build
npm run buildConfiguration
Environment Variables
Variable | Description | Required |
| GitHub repository owner (username or organization) | Yes |
| GitHub repository name | Yes |
| Subdirectory containing skill files (default: root) | No |
| GitHub personal access token (required for private repos) | No |
Skills Repository Structure
Your skills repository should contain markdown files (.md) with best practices:
your-skills-repo/
├── typescript-best-practices.md
├── react-patterns.md
├── testing-guidelines.md
└── ...Or with a subdirectory:
your-skills-repo/
└── skills/
├── typescript-best-practices.md
├── react-patterns.md
└── ...MCP Client Configuration
Cursor
Add the following to your Cursor MCP settings file (~/.cursor/mcp.json or via Settings > MCP):
{
"mcpServers": {
"my-personal-code-mcp": {
"command": "node",
"args": ["C:/path/to/my-personal-code-mcp/dist/index.js"],
"env": {
"SKILLS_REPO_OWNER": "your-github-username",
"SKILLS_REPO_NAME": "your-skills-repo",
"SKILLS_PATH": "",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Claude Desktop
Add the following to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"my-personal-code-mcp": {
"command": "node",
"args": ["C:/path/to/my-personal-code-mcp/dist/index.js"],
"env": {
"SKILLS_REPO_OWNER": "your-github-username",
"SKILLS_REPO_NAME": "your-skills-repo",
"SKILLS_PATH": "",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Claude Code CLI
Add to your Claude Code settings (~/.claude/settings.json):
{
"mcpServers": {
"my-personal-code-mcp": {
"command": "node",
"args": ["/path/to/my-personal-code-mcp/dist/index.js"],
"env": {
"SKILLS_REPO_OWNER": "your-github-username",
"SKILLS_REPO_NAME": "your-skills-repo"
}
}
}
}Available Tools
list_skills
Returns a list of all available skill names.
Input: None
Output:
{
"skills": ["typescript-best-practices", "react-patterns", "testing-guidelines"]
}get_skill
Returns the content of a specific skill.
Input:
{
"skill_name": "typescript-best-practices"
}Output: The markdown content of the skill file.
Development
# Build
npm run build
# Watch mode
npm run dev
# Run the server
npm startLicense
ISC
Available Tools
2 toolsget_skillC
Returns the content of a specific best practice skill
| Name | Required | Description | Default |
|---|---|---|---|
| skill_name | Yes | The name of the skill to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Returns'), but doesn't cover aspects like error handling, authentication needs, rate limits, or what 'content' entails. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'content' includes (e.g., text, metadata, examples), potential errors, or how it relates to the sibling tool. For a tool with no structured support, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'skill_name' fully documented in the schema. The description doesn't add any additional meaning beyond what the schema provides (e.g., format examples or constraints), so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Returns') and resource ('content of a specific best practice skill'), making the purpose understandable. However, it doesn't explicitly differentiate from the sibling tool 'list_skills' (which presumably lists multiple skills rather than retrieving content of a specific one), preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'list_skills' or any other context for selection, leaving usage decisions unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsB
Returns a list of all available best practice skills
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns a list but doesn't mention any behavioral traits such as pagination, rate limits, authentication requirements, or potential side effects. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for a simple tool, though it could be slightly more structured to include usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned list contains (e.g., skill names, IDs, metadata), how it's formatted, or any limitations. For a tool with no structured data beyond the input schema, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for this scenario is 4, as the description appropriately avoids redundant information about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Returns') and resource ('list of all available best practice skills'), making the purpose understandable. However, it doesn't differentiate from its sibling 'get_skill' (which presumably retrieves a single skill), so it doesn't reach the highest score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its sibling 'get_skill' or any alternatives. It lacks context about use cases, prerequisites, or exclusions, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
get_skill - First observed
list_skills
TDQS
The two tools have clearly distinct purposes: get_skill retrieves detailed content for a specific skill, while list_skills provides an overview of all available skills. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool based on the task.
Both tools follow a consistent verb_noun pattern (get_skill and list_skills), using snake_case throughout. The naming is predictable and readable, with no deviations or mixed conventions.
With only 2 tools, the server feels thin for a 'Personal Code Skills' domain that implies management of skills. While basic read operations are covered, the lack of create, update, or delete tools suggests an incomplete surface for skill management, making the count too low for the apparent scope.
The server only provides read operations (get and list), with no ability to create, update, or delete skills. This is a significant gap for a skills management domain, as agents cannot modify or add new skills, leading to potential dead ends in workflows that require full lifecycle management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI models to access GitHub repository contents as context, with features to fetch entire repositories, specific file contents, and repository structures for use in AI interactions.31182MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze GitHub repository structures and read file contents with features like directory traversal, file type analysis, syntax highlighting, and code pattern detection. Supports both public and private repositories through GitHub API integration.17Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze GitHub repositories, including fetching repository details, searching, and retrieving README content.4672ISC
- FlicenseNot gradedqualityDmaintenanceProvides read-only access to company GitHub repositories, enabling code search, file retrieval, documentation search, and repo browsing via natural language.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lfdantoni/my-personal-code-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server