MCP
Neleto supports the Model Context Protocol (MCP), which lets AI agents - such as GitHub Copilot, Claude, or Cursor - interact directly with your CMS through natural language.
Agents connected via MCP can read and write content: creating pages, managing files, updating blog posts, listing events, and much more - all without leaving the editor.
Endpoint
Your Neleto instance exposes a JSON-RPC 2.0 MCP endpoint at:
POST <your-neleto-url>/api/mcp
Authentication
All requests require a Bearer token. You can create API tokens in the Neleto admin under Settings -> API Tokens.
Authorization: Bearer <your-token>
For tools that perform the OAuth handshake for you (such as Claude Custom Connectors), see Claude Custom Connector (OAuth) below.
Claude Custom Connector (OAuth)
Claude's Custom Connectors (claude.ai and Claude Desktop) authenticate to remote MCP servers with OAuth 2.1 instead of a manually pasted token. Neleto is a built-in OAuth 2.1 authorization server, so no token setup is required: Claude registers itself automatically and you simply log in and approve the connection.
- In Claude, open Settings -> Connectors -> Add custom connector.
- Enter your MCP endpoint URL:
https://your-neleto-instance.com/api/mcp - Claude discovers the authorization server and opens your Neleto instance in the browser. Log in (if you are not already) and approve the Connect application consent screen.
- Claude is redirected back and obtains an access token automatically. The connector is now ready.
Behind the scenes Neleto exposes the standard discovery and OAuth endpoints:
GET /.well-known/oauth-protected-resource(RFC 9728)GET /.well-known/oauth-authorization-server(RFC 8414)POST /api/oauth/register— dynamic client registration (RFC 7591)GET /api/oauth/authorizeandPOST /api/oauth/token— authorization code flow with PKCE
Issued access tokens are short-lived and refreshed automatically. Each authorization is bound to the user who approved it and inherits that user's permissions.
Managing connected applications
You can review and revoke OAuth connections in the Neleto admin under Profile -> Security -> Connected applications. Revoking a connection immediately invalidates the access and refresh tokens that application holds.
Configuration
VS Code (GitHub Copilot Agent Mode)
Create or update .vscode/mcp.json in your project:
{
"servers": {
"neleto": {
"type": "http",
"url": "https://your-neleto-instance.com/api/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
You can also add this to your VS Code User Settings (JSON) under the mcp key for global access across all projects.
Claude Desktop
Claude Desktop does not natively support HTTP MCP servers, but you can use mcp-remote as a proxy. Add the following to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"neleto": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-neleto-instance.com/api/mcp",
"--header",
"Authorization:Bearer <your-token>"
]
}
}
}
Cursor
In Cursor, open Settings -> Features -> MCP Servers and add a new server entry:
{
"neleto": {
"type": "http",
"url": "https://your-neleto-instance.com/api/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
OpenCode
Add the server to ~/.config/opencode/opencode.json under the mcp key:
{
"mcp": {
"neleto": {
"type": "remote",
"url": "https://your-neleto-instance.com/api/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
Windsurf
Add the server to ~/.codeium/windsurf/mcp_config.json under the mcpServers key:
{
"mcpServers": {
"neleto": {
"serverUrl": "https://your-neleto-instance.com/api/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
Protocol Details
The MCP endpoint uses JSON-RPC 2.0. Tool calls use the tools/call method:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "page_list",
"arguments": {
"limit": 10
}
}
}
A full list of available tools is documented on the Tools Reference page.