[All articles](https://linkinseconds.com/blog)

# How to let Claude or ChatGPT publish files as links (MCP setup)

[Sunny](https://linkinseconds.com/about#who-runs-this)·October 4, 2026·Updated October 23, 2026· 7 min read

[#ai](https://linkinseconds.com/blog/topic/ai-agents-and-developers)#aiagents#publish#files#from

Let Claude publish files as links

q3-report.html Live

lisview.com/q3-report

To let Claude publish files as links, connect it to the Link in Seconds MCP server. Create an API key in your dashboard, add the server at `https://linkinseconds.com/api/mcp` with an `Authorization: Bearer` header, and ask Claude to “publish this as a link”. It uploads the file and replies with a public URL that opens in any browser. The whole setup takes about two minutes and works in Claude Code, Cursor, VS Code and any other client that supports remote MCP servers.

**Using ChatGPT?** You don't need a key there: add Link in Seconds as a plugin, sign in once, and ask it to turn a file into a shareable link. The steps are in [Use Link in Seconds in ChatGPT](https://linkinseconds.com/docs/mcp/chatgpt).

This guide covers each client, what to ask, what you get back, the limits that apply and how to keep your key safe. If you are new to MCP itself, read [what an MCP server is](https://linkinseconds.com/blog/what-is-an-mcp-server) first. It takes five minutes.

## Why let an AI assistant publish files?

AI assistants are good at making things: an HTML report, a landing page draft, a chart, a cleaned up CSV. The awkward part comes next. The file sits in a chat or on your disk, and you still have to upload it somewhere before anyone else can see it. With the MCP server connected, the assistant does that last step for you. You say “share it”, and you get a link you can paste into Slack or an email.

The person who opens the link needs no account and no app. HTML opens as a page, PDFs open in a viewer, images and video play in the browser. It is the same kind of link you get when you [share an AI-built website](https://linkinseconds.com/blog/share-an-ai-built-website-as-a-link) from the upload page.

## Step 1: create an API key

Try it while you are reading

Upload a file and get a clean, trackable link with a QR code. Free, and no account for whoever opens it.

[Create a link](https://linkinseconds.com/)

- Sign in and open [API keys](https://linkinseconds.com/dashboard/api-keys) in your dashboard.

- Give the key a name you will recognise later, such as “Claude Code laptop”.

- Copy the key. It starts with `lis_` and is shown **only once**. We store a SHA-256 hash of it, not the key itself, so we cannot show it to you again.

You can hold up to 5 keys at a time. One key per tool or machine is a good habit: if a laptop goes missing, you delete that one key and everything else keeps working. More detail is in [Authentication and API keys](https://linkinseconds.com/docs/api/authentication).

## Step 2: connect your client

The server speaks MCP over Streamable HTTP. Every client needs the same two things: the URL and the `Authorization` header. Replace `lis_YOUR_KEY` with your real key.

### Claude Code

Run this once in your terminal:

Terminal

```
claude mcp add --transport http linkinseconds https://linkinseconds.com/api/mcp \
  --header "Authorization: Bearer lis_YOUR_KEY"
```

Start a new Claude Code session and run `/mcp` to check that `linkinseconds` is connected. Full steps are in [Connect Claude Code](https://linkinseconds.com/docs/mcp/claude-code).

### Cursor

Add the server to `~/.cursor/mcp.json` (for every project) or `.cursor/mcp.json` in one project:

~/.cursor/mcp.json

```
{
  "mcpServers": {
    "linkinseconds": {
      "url": "https://linkinseconds.com/api/mcp",
      "headers": { "Authorization": "Bearer lis_YOUR_KEY" }
    }
  }
}
```

Then check Cursor's MCP settings to see the six tools listed. See [Connect Cursor](https://linkinseconds.com/docs/mcp/cursor).

### VS Code

Create `.vscode/mcp.json` in your workspace. Note that VS Code uses `servers` rather than `mcpServers`, and wants a `type`:

.vscode/mcp.json

```
{
  "servers": {
    "linkinseconds": {
      "type": "http",
      "url": "https://linkinseconds.com/api/mcp",
      "headers": { "Authorization": "Bearer lis_YOUR_KEY" }
    }
  }
}
```

Open Copilot Chat in agent mode and the tools appear in the tools list. See [Connect VS Code](https://linkinseconds.com/docs/mcp/vs-code). If you commit this file, keep the key out of it and use an input or environment variable instead. Other clients are covered in [Other MCP clients](https://linkinseconds.com/docs/mcp/other-clients).

## Step 3: ask in plain words

You do not need to name the tools. Prompts like these work:

- “Turn this summary into a one page HTML report and publish it as a link.”

- “Publish ./dist/report.pdf and give me the link.”

- “Make a simple pricing page for my bakery and share it as a link I can text to my partner.”

- “List my last 10 links and tell me which ones are still under review.”

- “How many people opened my pricing.pdf link this week, and from which countries?”

Most clients ask you to approve a tool call the first time. That is a good moment to check the file name and content before anything goes public.

## What you get back

When the upload works, the tool answers with one line:

Tool result

```
Published: https://lisview.com/q3-summary-k2
```

The assistant passes that link on to you. Along with the text, the tool also returns structured data (the slug, title and URL) so the assistant can use it in a later step, for example to paste the link into a README.

Sometimes the reply adds a note. If our safety scan flags the file, the link exists but is held for review and goes live once it is cleared. Videos can show a short “still being scanned” note. In both cases the link itself does not change.

## The six tools, briefly

- **upload_file** publishes a file sent inline: text in `content` (HTML, Markdown, CSV, SVG, JSON) or base64 in `content_base64` (PDF, images, ZIP). Up to 3 MB.

- **create_upload_url** starts a bigger upload and returns a short-lived URL, valid for 10 minutes. The assistant PUTs the bytes to it, usually with curl.

- **finish_upload** checks and scans that file, then returns the public link.

- **list_links** lists your links, newest first, with each one's status.

- **get_link_analytics** reports one link's views, visitors, time spent, countries and devices.

- **get_account_analytics** sums up how all your links did over a period.

Inputs and outputs for each are in the [MCP tools reference](https://linkinseconds.com/docs/mcp/tools).

## Limits

The MCP server is not a side door. Every upload runs through the same checks as the website, as the owner of the key, so your plan's limits apply:

| Limit | Free | Pro | Lifetime |

| Inline upload_file | 3 MB | 3 MB | 3 MB |

| Per file (create_upload_url) | 250 MB | 500 MB | 500 MB |

| Live links | 50 at a time | Unlimited | Unlimited |

| Uploads per hour with a key | 30 | Normal hourly cap | Normal hourly cap |

Per-file and storage caps match the website. Full list: Plans and limits.

The inline cap exists because the file travels inside the request, and base64 adds about a third to its size. Anything bigger goes through `create_upload_url`, which sends the bytes straight to storage. See [Plans and limits](https://linkinseconds.com/docs/plans-and-limits) for storage totals. Every link feature is free; Pro adds unlimited links, more storage, bigger files and website hosting.

## Safety: what to watch

- **Treat the key like a password.** Anyone with it can publish files as you. Keep it out of public repos, screenshots and prompts you share.

- **Links are public.** Anyone with the URL can open the file. Do not ask the assistant to publish anything you would not send by email. For sensitive files, add a password or expiry from the dashboard (free on every plan).

- **Every file is scanned.** Executables and scripts are refused outright, and other files go through the same safety scan as website uploads. See [Safety, scanning and reporting](https://linkinseconds.com/docs/safety).

- **Revoking is instant.** Delete a key in the dashboard and the next request with it fails with a 401.

Prefer a script to an assistant? The same uploads work over plain HTTP. See [how to upload a file by API](https://linkinseconds.com/blog/upload-a-file-by-api) for curl, Node and Python examples.

## Common questions

### Does this work in ChatGPT, the Claude desktop app or claude.ai?

Yes for ChatGPT: it signs in with your Link in Seconds account, no key needed (see the [ChatGPT guide](https://linkinseconds.com/docs/mcp/chatgpt)). Other clients that connect to remote MCP servers with OAuth sign-in can use the same sign-in, and clients that send a custom `Authorization` header use an API key as above. See [Other MCP clients](https://linkinseconds.com/docs/mcp/other-clients).

### Is it free?

Yes. The MCP server, the API key and every link feature are free; your plan's limits on links, storage and file size apply, as in the table above.

### Can the assistant delete or change my links?

No. The tools can publish new files, list existing ones and read their analytics. Editing, replacing and deleting stay in your dashboard.

### Where do I see the links later?

In your dashboard, next to everything you uploaded by hand, with the same view counts and QR codes. You can also ask the assistant to run `list_links`.

Ready to set it up? Start with the [MCP server docs](https://linkinseconds.com/docs/mcp), or browse more guides in [AI agents and developers](https://linkinseconds.com/blog/topic/ai-agents-and-developers).

## Keep reading

- [Is your site agent-ready? 27 to 40 robots.txt Live lisview.com/agent-ready Is your site agent-ready? What isitagentready.com checks, and how we went from 27 to 40 8 min read](https://linkinseconds.com/blog/is-your-site-agent-ready)

- [No Git? Host your site from a ZIP site.zip Live lisview.com/gh-pages-vs GitHub Pages vs Link in Seconds for hosting a static site 6 min read](https://linkinseconds.com/blog/github-pages-vs-link-in-seconds)

- [Share a Claude artifact as a link dashboard.html Live lisview.com/dashboard How to share a Claude artifact as a link (and see who opened it) 6 min read](https://linkinseconds.com/blog/share-a-claude-artifact-as-a-link)

## Turn any file into a link in seconds

Upload a PDF, image, video, or ZIP and get a clean, trackable link with a QR code, free.

[Try Link in Seconds →](https://linkinseconds.com/)

Source: https://linkinseconds.com/blog/publish-files-from-claude-with-mcp
