G
Use LinkCrypt with ChatGPT Actions + Codex
Wire a tool-enabled OpenAI runtime (Custom GPT Actions, Codex, or OpenAI automations) to your LinkCrypt library using bearer authentication — search saved links and create new ones through API calls.
Fastest way: connect via MCP
Skip the OpenAPI schema and the API key. ChatGPT can connect to Link Crypt directly with OAuth.
- Open ChatGPT on the web. In Settings → Apps & Connectors → Advanced settings, turn on Developer mode. Newer builds call the page Plugins. The toggle is in the same Advanced settings area.
- Back in Apps & Connectors (or Plugins), click Create. You can also click +, then Add custom MCP server.
- Name it Link Crypt, paste in
https://mcp.getlinkcrypt.com/mcp, choose OAuth for authentication, accept the warning, and create it. - Sign in to Link Crypt and approve. Start a new chat, turn on the Link Crypt connector from the tools menu, and try: “Search my Link Crypt for Postgres and give me the full saved description.”
- Creating custom connectors is a workspace feature on Business, Enterprise and Edu.
- On Plus and Pro, developer mode is a beta and connections are read-oriented. Expect
searchandfetchto work. Write actions may be unavailable. - Deep research and company knowledge use only the
searchandfetchtools. Normal chat in developer mode can use every Link Crypt tool. - If ChatGPT says the server must provide
searchandfetch, that is now supported.
Manual setup with an API key (advanced)
Setup overview
- Create a LinkCrypt account and generate an API key in Preferences.
- Use a runtime that can execute HTTP tools. Plain ChatGPT chat does not call your private API by itself.
- In ChatGPT Custom GPT → Configure → Actions → Create new action, paste the OpenAPI fragment below (or import as schema). For Codex/OpenAI automations, map the same endpoints as tools.
- Set authentication to API Key, header name
Authorization, valueBearer <stored-secret>. - Tell the GPT your base URL is
https://getlinkcrypt.com/api/v1if the schema host is not auto-detected.
For OpenAI Assistants with function calling, map the same operations as tools using the paths below.
OpenAPI 3.0 schema (Actions)
Paste into Custom GPT Actions. Adjust descriptions for your GPT's behavior. All paths are under the server URL https://getlinkcrypt.com/api/v1.
openapi: 3.0.0
info:
title: LinkCrypt API
version: 1.0.0
servers:
- url: https://getlinkcrypt.com/api/v1
paths:
/search:
get:
operationId: searchLinks
summary: Full-text search the link library
parameters:
- name: q
in: query
required: true
schema: { type: string }
- name: limit
in: query
schema: { type: integer, default: 20 }
- name: offset
in: query
schema: { type: integer, default: 0 }
responses:
'200': { description: OK }
/links:
get:
operationId: listLinks
summary: List links with filters
parameters:
- name: q
in: query
schema: { type: string }
- name: tags
in: query
description: Comma-separated tags (AND)
schema: { type: string }
- name: domain
in: query
schema: { type: string }
- name: limit
in: query
schema: { type: integer }
- name: offset
in: query
schema: { type: integer }
responses:
'200': { description: OK }
post:
operationId: createLink
summary: Save a new link
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [url]
properties:
url: { type: string, format: uri }
title: { type: string }
description: { type: string }
tags:
type: array
items: { type: string }
responses:
'201': { description: Created }
/links/{id}:
get:
operationId: getLink
summary: Get one link
parameters:
- name: id
in: path
required: true
schema: { type: string }
responses:
'200': { description: OK }
patch:
operationId: updateLink
summary: Update link metadata
parameters:
- name: id
in: path
required: true
schema: { type: string }
requestBody:
content:
application/json:
schema:
type: object
properties:
title: { type: string }
url: { type: string }
description: { type: string }
is_favorite: { type: boolean }
responses:
'200': { description: OK }
/tags:
get:
operationId: listTags
summary: List all tags
responses:
'200': { description: OK }
/analyze/stats:
get:
operationId: libraryStats
summary: Library statistics
responses:
'200': { description: OK }
Safety note
Avoid exposing your real API key in public GPTs. Use private Custom GPTs or server-side proxies for team setups. Consider revoking keys in Preferences if they leak.