-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) #5291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hi @taniandjerry, I will be waiting for the team review on this PR. |
iandouglas
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The structure of what you're adding here to the repo looks good, and I think we can approve it.
Reading through the blog post, I think there are a few formatting changes you could make for easier reading, for example the Primitives section where you break down things like Prompts, Resources, etc, their "sub-headings" of Use Cases and Examples are the same font size as the Prompts and Resources keywords, so it all kind of blends together.
For the MCP architecture overview ascii art, there are a few things out of alignment in the image, but looks great. If you could lowercase 'goose' everywhere in your article that would be fantastic (it's capitalized in the blog post and a few other places in the article)
The blog title is about a deep dive into goose's extensions and MCP and how to make an MCP server etc feels REALLY long. Reader attention is hard to retain. I'd almost break this into three pieces:
- an intro to MCP
- how to build an MCP server, including state retention and performance optimization
- goose's extension system and how to add your custom MCP server, and the troubleshooting section
Feedback on some other things I found reading through the post:
Once we get into the goose extension explanation about a third of the way in, you have a link for "goose's built-in extensions" that links to a page about building custom extensions, and should point to a different page like:
https://block.github.io/goose/docs/getting-started/using-extensions#built-in-extensions
... maybe double check all of the links are linked where it makes sense? the very first link where you say "goose's true power ..." links to the mcp-servers page, and could just link to https://block.github.io/goose if someone doesn't know what goose even is. In fact, I'd almost add an intro block before the table of contents in the article itself to introduce what the reader is about to learn.
There's a section about "Extension Configuration" that could use some changes.
-
you mention a disk path for the config.yaml file but on Windows it'll be different, you can get that info from https://block.github.io/goose/docs/guides/config-file/
-
you have an example config.yaml file with a "providers" list ... this doesn't exist in goose
-
for managing extensions, you could probably also link back to our documentation pages instead of walking the reader through everything. If our UI changes, we'll have up to date docs, so your descriptions don't have to be updated later etc.
For the troubleshooting section, this is very thorough, but it would be nice to see an explanation of why those 5 failures could happen, not just a simple string of the "problem", and a list of solutions. Let's explain why these things could even happen.
|
@iandouglas , thanks for the feedback. I will work on it. Quick question, do you suggest I should make the blog post into 3 parts and create separate PR for each @iandouglas ? |
|
I'd defer to @taniandjerry but I think only the one piece about goose would qualify, as the other two pieces would be about MCP. |
|
Ok, @iandouglas |
|
I chatted with @taniandjerry ... let's split this into those 3 articles, where one is your intro to MCP, one is how to build an MCP server and optimize it, and then a concluding piece about bringing all of that into goose and explain goose extensions, how to add this new MCP server they made from article #2, and how to troubleshoot if goose gives errors about it. Then let's change this PR to point to that third piece. If there's another blog article issue available, you're welcome to dive into another topic as well :) thanks again for putting all of this together, it's very thorough content for sure! |
|
Alright @iandouglas , I will work on the suggestions. Thank you so much for the prompt response! |
Alright @taniandjerry , thanks |
|
After you fix the DCO check, we will be able to merge this for you :) <3 |
|
Hey @Lymah123 don't worry about making any changes to your blog, since it has a good amount of really good content in it. I changed the point system size from As Tania mentioned once you follow the steps to fix your failing DCO check, we'll be good to merge 🥳 |
Hi @EbonyLouis , @taniandjerry, @blackgirlbytes and @iandouglas I would appreciate your help on this, I lost access to my devices. As my phone and laptop got stolen like two days ago. Infact I just recovered my GitHub account. How do I push new changes on this new device without required recloning this repo. What do you suggest I should do inorder for this PR to be merged? Thanks. Looking forward to y'all suggestions. |
|
Hi @Lymah123! I'm really sorry to hear about your devices being stolen. That's such a frustrating situation to deal with. Glad you were able to recover your GitHub account though! It looks like you just need to fix the failing DCO check, so here's what I'd recommend: Clone and fetch your PR branch git clone https://github.com/block/goose.git
cd goose
git fetch origin pull/5291/head:pr-5291
git checkout pr-5291At that point, you can follow these steps to fix the failing DCO check and then we can get this merged. |
Signed-off-by: oguntunjiharlimatodunola <fimihanodunola625@gmail.com> Signed-off-by: Lymah123 <fimihanodunola625@gmail.com>
Hi @agiuliano-square ! Thank you so much! And thanks again for the solution, it fixed it. Thank you! |
|
@EbonyLouis and @taniandjerry , the signoff issue has been fixed. Thanks! |
…xt Protocol (MCP) (block#5291) Signed-off-by: oguntunjiharlimatodunola <fimihanodunola625@gmail.com> Signed-off-by: Lymah123 <fimihanodunola625@gmail.com> Signed-off-by: Blair Allan <Blairallan@icloud.com>
* main: fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350) Add bottom menu extension selection (#5352) (re)Standardize Session Name Attribute (#5279) chore: improve timeout for entering password when running goose ui from source (#5349)
* main: fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350) Add bottom menu extension selection (#5352) (re)Standardize Session Name Attribute (#5279) chore: improve timeout for entering password when running goose ui from source (#5349)
* main: (54 commits) fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350) Add bottom menu extension selection (#5352) (re)Standardize Session Name Attribute (#5279) chore: improve timeout for entering password when running goose ui from source (#5349) Fix legacy import (#5343) Unify loading goose messages and usechatstream determines chat state (#5306) Docs: goose session export and goose session import (#5267) Create recipe dir on save (#5337) docs: Update Discord link (#5335) [recipe workflow]: Fix `Invalid revision range` error (#5334) Add tech-article-explainer recipe (#5333) doc: added beta banner for old blog post (#5332) ...
* main: Auto-compact Threshold UI improvements (#5354) Filter preserved user messages to be text only. (#5391) include sessionId in tool request (#5394) feat: add PR Impact Analyzer prompt (#5375) docs: add blog post on configuring goose for team environments (#5380) migrating back with new chatrecall non underscore name (#5223) fixing typo in blog metadata (#5382) feat: add new blog entry on adopting Goose in the enterprise (#5381) Blog/acp intro oct 2024 (#5379) feat: add A/B test framework generator recipe (#5378) Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291) Some system prompt tidying (#5313) Fix scheduler jobs dates formatting (#5368) Use Instructions as Prompt in Scheduler (#5359) feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350)
…xt Protocol (MCP) (block#5291) Signed-off-by: oguntunjiharlimatodunola <fimihanodunola625@gmail.com> Signed-off-by: Lymah123 <fimihanodunola625@gmail.com> Signed-off-by: Blair Allan <Blairallan@icloud.com>
Summary
A comprehensive technical guide that explores Goose's extension system and Model Context Protocol (MCP), helping developers understand the architecture and build custom integrations.
Type of Change
Testing
Related Issues
Relates to #4723
Discussion: LINK (if any)
Screenshots/Demos (for UX changes)
Before:
After:
Email: