<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: Beats</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/atom/beats/" rel="self"/><id>http://simonwillison.net/</id><updated>2026-07-31T23:03:47+00:00</updated><author><name>Simon Willison</name></author><entry><title>llm-mcp-client 0.1a0</title><link href="https://github.com/simonw/llm-mcp-client/releases/tag/0.1a0" rel="alternate"/><published>2026-07-31T23:03:47+00:00</published><updated>2026-07-31T23:03:47+00:00</updated><id>https://github.com/simonw/llm-mcp-client/releases/tag/0.1a0</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm-mcp-client/releases/tag/0.1a0"&gt;llm-mcp-client 0.1a0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Access tools from MCP servers as LLM tools&lt;/p&gt;</summary><category term="llm"/><category term="model-context-protocol"/></entry><entry><title>datasette-agent 0.4a0</title><link href="https://github.com/datasette/datasette-agent/releases/tag/0.4a0" rel="alternate"/><published>2026-07-31T14:14:23+00:00</published><updated>2026-07-31T14:14:23+00:00</updated><id>https://github.com/datasette/datasette-agent/releases/tag/0.4a0</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/datasette/datasette-agent/releases/tag/0.4a0"&gt;datasette-agent 0.4a0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;An LLM-powered agent for Datasette&lt;/p&gt;</summary><category term="datasette"/><category term="llm-tool-use"/><category term="datasette-agent"/></entry><entry><title>llm 0.32rc2</title><link href="https://github.com/simonw/llm/releases/tag/0.32rc2" rel="alternate"/><published>2026-07-30T22:52:06+00:00</published><updated>2026-07-30T22:52:06+00:00</updated><id>https://github.com/simonw/llm/releases/tag/0.32rc2</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm/releases/tag/0.32rc2"&gt;llm 0.32rc2&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Access large language models from the command-line&lt;/p&gt;</summary><category term="llm"/><category term="uv"/><category term="lm-studio"/></entry><entry><title>llm-chat-completions-server 0.1a0</title><link href="https://github.com/simonw/llm-chat-completions-server/releases/tag/0.1a0" rel="alternate"/><published>2026-07-30T15:43:16+00:00</published><updated>2026-07-30T15:43:16+00:00</updated><id>https://github.com/simonw/llm-chat-completions-server/releases/tag/0.1a0</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm-chat-completions-server/releases/tag/0.1a0"&gt;llm-chat-completions-server 0.1a0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;LLM plugin to serve an OpenAI Chat Completions API endpoint&lt;/p&gt;</summary><category term="projects"/><category term="openai"/><category term="llm"/></entry><entry><title>llm 0.32rc1</title><link href="https://github.com/simonw/llm/releases/tag/0.32rc1" rel="alternate"/><published>2026-07-30T15:30:20+00:00</published><updated>2026-07-30T15:30:20+00:00</updated><id>https://github.com/simonw/llm/releases/tag/0.32rc1</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm/releases/tag/0.32rc1"&gt;llm 0.32rc1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Access large language models from the command-line&lt;/p&gt;</summary><category term="llm"/></entry><entry><title>California Brown Pelican, Caspian Tern</title><link href="https://simonwillison.net/2026/Jul/30/sighting-386560283/#atom-beats" rel="alternate"/><published>2026-07-30T03:32:30+00:00</published><updated>2026-07-30T03:32:30+00:00</updated><id>https://simonwillison.net/2026/Jul/30/sighting-386560283/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/708703287/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/707786664/large.jpg" alt="Caspian Tern"&gt;&lt;/p&gt;&lt;p&gt;California Brown Pelican, Caspian Tern, in Monterey Bay National Marine Sanctuary, CA, US, CA&lt;/p&gt;</summary></entry><entry><title>Adding a custom MCP server to Claude and ChatGPT</title><link href="https://til.simonwillison.net/llms/mcp-in-claude-and-chatgpt" rel="alternate"/><published>2026-07-29T00:13:18+00:00</published><updated>2026-07-29T00:13:18+00:00</updated><id>https://til.simonwillison.net/llms/mcp-in-claude-and-chatgpt</id><summary type="html">&lt;p&gt;&lt;a href="https://til.simonwillison.net/llms/mcp-in-claude-and-chatgpt"&gt;Adding a custom MCP server to Claude and ChatGPT&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I've started exploring [MCP](https://modelcontextprotocol.io/) in more detail. The web chat UIs for both Claude and ChatGPT can access MCP servers but it's not obvious how to set them up. Here's what I figured out.&lt;/p&gt;</summary><category term="ai"/><category term="generative-ai"/><category term="chatgpt"/><category term="llms"/><category term="claude"/><category term="model-context-protocol"/></entry><entry><title>California Brown Pelican</title><link href="https://simonwillison.net/2026/Jul/28/sighting-386051887/#atom-beats" rel="alternate"/><published>2026-07-28T03:19:48+00:00</published><updated>2026-07-28T03:19:48+00:00</updated><id>https://simonwillison.net/2026/Jul/28/sighting-386051887/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/706809178/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/706809237/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/706809277/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;California Brown Pelican, in Monterey Bay National Marine Sanctuary, CA, US, CA&lt;/p&gt;</summary></entry><entry><title>sqlite-utils 3.39.1</title><link href="https://github.com/simonw/sqlite-utils/releases/tag/3.39.1" rel="alternate"/><published>2026-07-26T04:38:46+00:00</published><updated>2026-07-26T04:38:46+00:00</updated><id>https://github.com/simonw/sqlite-utils/releases/tag/3.39.1</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/sqlite-utils/releases/tag/3.39.1"&gt;sqlite-utils 3.39.1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Python CLI utility and library for manipulating SQLite databases&lt;/p&gt;</summary><category term="sqlite-utils"/></entry><entry><title>California Brown Pelican</title><link href="https://simonwillison.net/2026/Jul/26/sighting-385374632/#atom-beats" rel="alternate"/><published>2026-07-26T03:36:47+00:00</published><updated>2026-07-26T03:36:47+00:00</updated><id>https://simonwillison.net/2026/Jul/26/sighting-385374632/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/705505571/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/705505754/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/705505830/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;California Brown Pelican, in Monterey Bay National Marine Sanctuary, CA, US, CA&lt;/p&gt;</summary></entry><entry><title>Sea Otter</title><link href="https://simonwillison.net/2026/Jul/24/sighting-386882122/#atom-beats" rel="alternate"/><published>2026-07-24T20:15:25+00:00</published><updated>2026-07-24T20:15:25+00:00</updated><id>https://simonwillison.net/2026/Jul/24/sighting-386882122/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/708397038/large.jpg" alt="Sea Otter"&gt;&lt;/p&gt;&lt;p&gt;Sea Otter, in Monterey Bay Area, CA, US&lt;/p&gt;</summary></entry><entry><title>California Sea Lion</title><link href="https://simonwillison.net/2026/Jul/21/sighting-383713864/#atom-beats" rel="alternate"/><published>2026-07-21T19:51:03+00:00</published><updated>2026-07-21T19:51:03+00:00</updated><id>https://simonwillison.net/2026/Jul/21/sighting-383713864/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/702321069/large.jpg" alt="California Sea Lion"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/702321114/large.jpg" alt="California Sea Lion"&gt;&lt;/p&gt;&lt;p&gt;California Sea Lion, in San Francisco County, US, CA&lt;/p&gt;&lt;p&gt;We took some visiting family to Pier 39 to see the sea lions. They're somehow always even more fun than I remember them being last time.&lt;/p&gt;</summary><category term="san-francisco"/><category term="wildlife"/></entry><entry><title>Elegant Tern, California Brown Pelican</title><link href="https://simonwillison.net/2026/Jul/20/sighting-383452766/#atom-beats" rel="alternate"/><published>2026-07-20T01:23:53+00:00</published><updated>2026-07-20T01:23:53+00:00</updated><id>https://simonwillison.net/2026/Jul/20/sighting-383452766/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/701825290/large.jpg" alt="Elegant Tern"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/701825343/large.jpg" alt="Elegant Tern"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/701825653/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;Elegant Tern, California Brown Pelican, in Monterey Bay National Marine Sanctuary, CA, US, CA&lt;/p&gt;</summary></entry><entry><title>SQLite Query Explainer</title><link href="https://tools.simonwillison.net/sqlite-query-explainer" rel="alternate"/><published>2026-07-18T17:19:10+00:00</published><updated>2026-07-18T17:19:10+00:00</updated><id>https://tools.simonwillison.net/sqlite-query-explainer</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/sqlite-query-explainer"&gt;SQLite Query Explainer&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Run SQL queries against a SQLite database in your browser and see exactly how SQLite executes them: the tool runs your query, then annotates every line of both `EXPLAIN QUERY PLAN` and the low-level `EXPLAIN` bytecode output with plain-English descriptions of what the query planner and virtual machine are doing.&lt;/p&gt;</summary><category term="sql"/><category term="sqlite"/><category term="tools"/><category term="julia-evans"/><category term="pyodide"/><category term="claude-mythos-fable"/></entry><entry><title>LLM cliché highlighter</title><link href="https://tools.simonwillison.net/llm-cliche-highlighter" rel="alternate"/><published>2026-07-17T12:11:11+00:00</published><updated>2026-07-17T12:11:11+00:00</updated><id>https://tools.simonwillison.net/llm-cliche-highlighter</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/llm-cliche-highlighter"&gt;LLM cliché highlighter&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Detect and highlight common clichéd phrases in text that frequently appear in language model outputs. Paste text into the analyzer to identify patterns like "no X, no Y" chains, "sit with that," "you already know," and other LLM-generated expressions, with toggleable pattern detection and context-aware sentence highlighting.&lt;/p&gt;</summary><category term="tools"/><category term="ai"/><category term="generative-ai"/><category term="llms"/></entry></feed>