Skip to content

Conversation

paoloricciuti
Copy link

@paoloricciuti paoloricciuti commented Oct 14, 2025

I know this is a somewhat big feature and I should've discussed first...but I'm testing my library to build MCP servers https://github.com/paoloricciuti/tmcp and when I realised I could build one for you guys I said why not!

It's basically an evening of work so if you prefer to just trash it don't worry at all, I fully understand (also both @stolinski and @w3cj know me, so I would never get mad at them 😝).

This adds a remote MCP server to interact with the Syntax catalogue with an LLM. There are two main parts of the server:

Tools

There are three tools available

list_episodes

This tool as the name suggests list all the episodes with their number, title and show notes. It can accept a query (comma separated list of queries) and a year cutoff (defaulting to the current year). This is the basic tool that can allow the LLM to get SOME info based on the user query...as you can see in the attached video, I've asked for svelte videos, and it picked some shows where svelte was featured. The year cutoff is to allow the user to go further back in time in case it's looking for something older than the current year.

get_episode

This is to get a lot more information about a single show...it contains the links to see the show, the guest's info, even the transcript (although since I couldn't seed the DB with a transcript locally I have no idea of how it looks like...it seems it might be a big object so maybe we should mangle it a bit before returning it)...speaking of...

Edit: I went ahead and converted the transcript to string before returning it...it feels better.

get_transcript

It's a more specific tool to only get the transcript of a specific show...in this case I did try to generate a format that was better understandable by the LLM.

Resources

show_info

There's one single resource template with the list of all the shows. This means that in terms of actual resources every single episode will be available, the user can search for it, select it and the LLM will already have that episode in context. The same applies for the transcript, we probably want to reduce it to a single string that is more manageable for the LLM.

Edit: I went ahead and converted the transcript to string before returning it...it feels better.

If we merge this once deployed, the MCP server will be available on https://syntax.fm/mcp for everyone to use and if you want to test it you can also use the deployed version (dunno if it's connected to a DB tho)

Let me know what you think and if you want to make some changes!

Here's a video of how the experience could look like in VS Code

syntax.mcp.mp4

Copy link

vercel bot commented Oct 14, 2025

@paoloricciuti is attempting to deploy a commit to the Syntax Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant