Skip to main content
Glama

Skill Management MCP Server

by fkesheh

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PUBMED_EMAILYesYour email address (required by NCBI)
PUBMED_API_KEYNoOptional API key for higher rate limits

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
list_skills

List all available skills in the ~/.skill-mcp/skills directory with their descriptions parsed from SKILL.md frontmatter.

This tool returns a lightweight overview of all installed skills, including:

  • Skill name and directory path

  • Description extracted from SKILL.md YAML frontmatter

  • Validation status (whether SKILL.md exists)

Use this tool first to discover what skills are available before working with specific skills. Each skill is a self-contained directory that may contain scripts, data files, and a SKILL.md metadata file.

Returns: List of all available skills with names, paths, and descriptions.

get_skill_details

Get comprehensive details about a specific skill including all files, executable scripts, environment variables, and metadata from SKILL.md.

This tool provides complete information about a skill:

  • Full SKILL.md content (documentation and metadata)

  • All files in the skill directory with file type and size

  • Executable scripts with their locations

  • Whether Python scripts have PEP 723 inline dependencies (uv metadata)

  • Environment variables defined in the skill's .env file

  • Whether a .env file exists for this skill

Use this tool to:

  1. Understand what a skill does (SKILL.md content)

  2. See what files and scripts are available

  3. Check what environment variables are configured

  4. Determine which scripts can be executed and what dependencies they have

Required parameter: skill_name (the name of the skill directory)

Returns: Complete skill details including files, scripts, environment variables, and SKILL.md documentation.

read_skill_file

Read and display the complete content of a specific file within a skill directory.

This tool allows you to view the contents of any file in a skill. Use this to:

  • Read Python scripts, data files, configuration files, etc.

  • Examine file contents before modifying them

  • Check file format and structure before running scripts

  • View documentation or data files

Parameters:

  • skill_name: The name of the skill directory (e.g., 'my-skill')

  • file_path: Relative path to the file within the skill directory (e.g., 'scripts/process.py', 'data/input.csv', 'README.md')

Important: file_path is relative to the skill's root directory, not the skills directory. Use forward slashes even on Windows.

Returns: The complete file content as text. If the file is very large, it will be truncated with a message indicating truncation.

create_skill_file

Create a new file within a skill directory. Automatically creates parent directories if they don't exist.

This tool allows you to:

  • Create new Python scripts or other executable files

  • Create configuration files (e.g., JSON, YAML, CSV)

  • Create data files and documentation

  • Build new functionality within a skill

Parameters:

  • skill_name: The name of the skill directory (e.g., 'my-skill')

  • file_path: Relative path for the new file (e.g., 'scripts/new_script.py', 'data/new_data.json')

  • content: The complete text content to write to the file

Behavior:

  • Creates parent directories automatically (e.g., if 'scripts/' doesn't exist, it will be created)

  • Does not overwrite existing files (use update_skill_file to modify existing files)

  • File_path must be relative to the skill's root directory

  • Use forward slashes for path separators

Returns: Success message with filename and character count.

update_skill_file

Update the content of an existing file in a skill directory.

This tool allows you to:

  • Modify existing Python scripts or other files

  • Update configuration files or data files

  • Replace entire file contents

  • Edit documentation or metadata

Parameters:

  • skill_name: The name of the skill directory (e.g., 'my-skill')

  • file_path: Relative path to the file to update (e.g., 'scripts/process.py')

  • content: The new complete content to write to the file (replaces entire file)

Important:

  • This replaces the ENTIRE file content with what you provide

  • The file must already exist (use create_skill_file for new files)

  • File_path must be relative to the skill's root directory

  • Always provide the complete new content, not just changes

Returns: Success message with filename and character count.

delete_skill_file

Delete a file from a skill directory permanently.

This tool allows you to:

  • Remove files that are no longer needed

  • Clean up outdated scripts or data files

  • Delete temporary files or corrupted files

Parameters:

  • skill_name: The name of the skill directory (e.g., 'my-skill')

  • file_path: Relative path to the file to delete (e.g., 'scripts/old_script.py', 'data/temp.csv')

Important:

  • This operation is permanent and cannot be undone

  • The file must exist or an error will be returned

  • File_path must be relative to the skill's root directory

  • Cannot delete directories (only individual files)

  • Cannot delete outside the skill directory (path traversal prevented)

Returns: Success message confirming deletion.

run_skill_script

Execute a script or executable program within a skill directory with optional arguments and automatic dependency management.

This tool runs scripts in multiple languages and automatically manages dependencies:

SUPPORTED LANGUAGES:

  • Python: Automatically installs PEP 723 inline dependencies via 'uv run' if declared in the script

  • Bash: Executes shell scripts (.sh files)

  • Other: Any executable file with proper shebang line

FEATURES:

  • Automatic dependency installation: Python scripts with PEP 723 metadata (/* script */ dependencies) are run with 'uv run' automatically

  • Environment variables: Loads skill-specific .env file and injects variables into script environment

  • Working directory: Can specify a subdirectory to run the script from

  • Arguments: Pass command-line arguments to the script

  • Output capture: Returns stdout, stderr, and exit code

PARAMETERS:

  • skill_name: The name of the skill directory (e.g., 'weather-skill')

  • script_path: Relative path to the script (e.g., 'scripts/fetch_weather.py', 'bin/process.sh')

  • args: Optional list of command-line arguments to pass to the script (e.g., ['--verbose', 'input.txt'])

  • working_dir: Optional working directory for execution (relative to skill root)

BEHAVIOR:

  • Python scripts with PEP 723 metadata are detected automatically and run with 'uv run'

  • Environment variables from skill's .env file are available to the script

  • Script must be executable or have proper shebang line

  • Script path is relative to the skill directory

RETURNS: Script execution result with:

  • Exit code (0 = success, non-zero = failure)

  • STDOUT (standard output)

  • STDERR (error output)

read_skill_env

Read and list all environment variable keys defined in a skill's .env file.

This tool helps you understand what environment variables are configured for a skill:

  • Lists only the KEY names (values are hidden for security)

  • Shows whether a .env file exists for the skill

  • Returns an empty message if no variables are set

PARAMETERS:

  • skill_name: The name of the skill directory

USE CASES:

  • Check what environment variables a skill needs before running scripts

  • Verify that required credentials or API keys are configured

  • Understand the expected configuration for a skill

  • Debug missing environment variables

SECURITY NOTE:

  • Environment variable VALUES are intentionally hidden and not returned

  • This prevents accidental exposure of secrets or credentials

  • To set or update variables, use update_skill_env tool

RETURNS: A list of environment variable key names (e.g., API_KEY, DATABASE_URL)

update_skill_env

Create, update, or replace the .env file for a skill with new environment variables.

This tool manages skill-specific environment variables used by scripts:

PARAMETERS:

  • skill_name: The name of the skill directory

  • content: The complete .env file content in KEY=VALUE format

FORMAT: Each line should be: KEY=VALUE Example: API_KEY=sk-abc123def456 DATABASE_URL=postgres://user:pass@localhost:5432/db DEBUG=true TIMEOUT=30

BEHAVIOR:

  • Replaces the ENTIRE .env file with the content you provide

  • Creates the .env file if it doesn't exist

  • Each line should follow KEY=VALUE format (one per line)

  • Comments starting with # are allowed

  • Empty lines are allowed

  • These variables become available to all scripts run in this skill

IMPORTANT:

  • Values will be stored as plain text, so don't commit sensitive values to git

  • Use the QUICKSTART.md for instructions on setting up secrets safely

  • After updating, use read_skill_env to verify keys were set correctly

SECURITY:

  • Keep .env files in .gitignore to prevent accidental commits of secrets

  • Use environment variables for all sensitive data (API keys, passwords, tokens)

  • Never hardcode secrets in scripts

RETURNS: Success message confirming the .env file was updated

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/fkesheh/skill-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server