MCP server

Let agents read and manage your skilless library over MCP.

skilless cloud runs an MCP server, so any agent that supports MCP can work with your library directly. An agent can look up a skill, write a new one, fix a typo in an existing one, or add a skill to the project you're working in, all without leaving the conversation.

The server is at:

https://skilless.dev/mcp

It uses the Streamable HTTP transport. The first time a client connects, it opens your browser so you can sign in and approve it. You don't need to copy a token.

Connect a client

Claude Code

claude mcp add --transport http skilless https://skilless.dev/mcp

Then run /mcp in Claude Code, pick skilless, and sign in when your browser opens.

Claude

In Claude's settings, open Connectors, choose Add custom connector and paste the server URL. Claude opens skilless so you can approve it.

Cursor

Add the server to ~/.cursor/mcp.json, or to .cursor/mcp.json to make it available in only one project:

{
	"mcpServers": {
		"skilless": {
			"url": "https://skilless.dev/mcp"
		}
	}
}

VS Code

Add the server to .vscode/mcp.json:

{
	"servers": {
		"skilless": {
			"type": "http",
			"url": "https://skilless.dev/mcp"
		}
	}
}

Other clients

Any client that supports remote MCP servers with OAuth can connect using just the URL. It finds how to sign in on its own.

Connect with a token

For a client without OAuth support, or an agent running unattended, create a token in your settings and send it as a bearer token:

claude mcp add --transport http skilless https://skilless.dev/mcp 
  --header "Authorization: Bearer <token>"

Treat the token like a password: anyone with it can read and change your library.

What agents can do

ToolWhat it does
list_skillsLists every skill in your library, with its description.
get_skillReads a skill's files, or a single file from it.
save_skillCreates a skill, or replaces all of an existing skill's files.
write_skill_fileAdds or overwrites one file in a skill.
delete_skill_fileRemoves a file, or a folder, from a skill.
delete_skillMoves a skill to the trash and removes it from every project.
set_skill_globalMakes a skill global, or stops it being global.
list_projectsLists your projects and the skills added to each.
get_project_skillsLists the skills a project gets, including your global skills.
add_skill_to_projectAdds a skill to a project.
remove_skill_from_projectRemoves a skill from a project without deleting it.
list_packsLists your packs, with the URL to add each with.
get_packReads a pack, with the skills each entry resolves to.
create_packCreates a pack, optionally with entries in it.
update_packAdds or removes a pack's entries, or makes it public or private.
delete_packDeletes a pack. Skills already added from it stay.

Projects are named by their git remote, like github.com/ieedan/skilless, the same way the CLI names them.

Changes made over MCP land in your cloud library. To get them on a machine, run skilless sync there, or skilless install in a cloud agent. If an agent deletes something you wanted, you can restore it from the trash on skilless.dev for 30 days.

Revoke access

Every client you approve gets its own token, named after the client, in your settings. Delete a token there to disconnect that client. The next time it connects, it asks you to approve it again.